【发布时间】:2018-04-10 23:21:45
【问题描述】:
使用 YouTube API 创建新的直播活动时,我遇到了这个问题。尽管传递了正确的 ISO 8601 日期格式,但在 GMT -7 中向所有查看者显示的时区,而不是他们的本地时区。以下是详细信息:
我正在使用 JavaScript 并进行以下调用:
gapi.client.youtube.liveBroadcasts.insert(
{
'part': 'snippet,status',
'snippet':
{
'title': $("#title").val(),
'scheduledStartTime': moment($('#datetime').data("DateTimePicker").date().format()).format(), // using datepicker and moment.js - looks like: 2017-10-31T16:02:05Z
'description': $("#description").val() // optional
},
'status': {'privacyStatus': ($('input[name=privacy]:checked').val() == 'private') ? 'unlisted' : 'public' }
}
).then(function(response){
...
这里是说明所需日期字符串类型的文档:
计划开始广播的日期和时间。该值以 ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) 格式指定。
https://developers.google.com/youtube/v3/live/docs/liveBroadcasts#snippet.scheduledStartTime
这是我传递的日期字符串的示例,请注意美国/东部时区的 -04:00:
"2017-10-31T16:02:05Z"
尽管如此,YouTube 在正确的时间创建事件,但在 GMT-7 中显示事件,而不是本地时区(我是 EST)(见屏幕截图):
任何想法我做错了什么或者这可能是 API 中的错误?
【问题讨论】:
标签: javascript datetime youtube youtube-livestreaming-api