YouTube 直播 API Snippet.scheduledStartTime 在创建直播时无法正常工作
YouTube Live Streaming API Snippet.scheduledStartTime not Working while Creating Live Broadcast
我正在使用 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');
根据 YouTube Live Streaming API Docs,scheduledStartTime
的格式必须为 ISO 8601 格式:
datetime
The date and time that the broadcast is scheduled to start.
The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
我建议您检查一下您设置的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');
我正在使用 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');
根据 YouTube Live Streaming API Docs,scheduledStartTime
的格式必须为 ISO 8601 格式:
datetime
The date and time that the broadcast is scheduled to start. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.
我建议您检查一下您设置的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');