【问题标题】:YouTube Live Streaming API 'scheduledStartTime' Displaying Wrong Timezone to ViewersYouTube Live Streaming API 'scheduledStartTime' 向观众显示错误的时区
【发布时间】: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


    【解决方案1】:

    我已将此问题提交给 YouTube 合作伙伴 API 支持。我从未收到回复,但我注意到现在事件在 PST 和当地时间显示之间闪烁。在 YouTube 仪表板上,该事件也以 PST 表示,但很高兴在“观看”页面上看到当地时间。

    我不知道我的问题是否有助于此修复,但该行为解决了我遇到的问题。

    【讨论】:

      【解决方案2】:

      我也面临同样的问题。 我认为它总是使用太平洋时区。 我认为唯一的解决方法是将预定时间转换为太平洋时区。例如,将预定时间减去 8 小时。

      【讨论】:

      • 欢迎来到 SO :) 这个答案不符合 OP 的需要。相反,这更像是一个评论而不是一个答案。
      猜你喜欢
      • 1970-01-01
      • 2015-07-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 2021-05-16
      • 2017-03-07
      • 2010-11-21
      相关资源
      最近更新 更多