我正在使用API资源管理器创建YouTube
实时广播,但一切正常,但是Snippet.scheduledStartTime
工作不正常。
我的时区是+05:00,国家是巴基斯坦。
我想在2019-01-18 04:50 PM
安排活动。我已将Snippet.scheduledStartTime
设置为2019-01-18T11:50:00.000Z
,但是在事件页面上,当我单击“编辑”时它显示Starts January 18, 2019 at 3:50 AM (PST)
,它显示了错误的国家和时区,例如United States (GMT -08:00) Pacific
我想使用javascript
或php
客户端库。
请让我知道如何解决?
这是我的php代码
$broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet();
$broadcastSnippet->setTitle('New Test Broadcast');
$broadcastSnippet->setScheduledStartTime('2019-01-18T11:50:00.000Z');
答案 0 :(得分:0)
根据YouTube Live Streaming API Docs,scheduledStartTime
的格式必须为ISO 8601格式:
datetime
计划开始广播的日期和时间。 该值以ISO 8601(YYYY-MM-DDThh:mm:ss.sZ)格式指定。
我建议您检查设置的time zone designator
。
使用时区创建日期
我不是PHP开发人员,但是执行IMO的最明智的做法是在正确的时区中创建日期,然后以正确的格式输出日期。谷歌搜索大约五分钟后,我发现了这个。
$tz = 'Europe/London';
$timestamp = time();
$dt = new DateTime("now", new DateTimeZone($tz)); //first argument "must" be a string
$dt->setTimestamp($timestamp); //adjust the object to correct timestamp
echo $dt->format('c');