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

我想使用 javascriptphp 客户端库。

请告诉我如何解决它?

这是我的 php 代码

$broadcastSnippet = new Google_Service_YouTube_LiveBroadcastSnippet();
$broadcastSnippet->setTitle('New Test Broadcast');
$broadcastSnippet->setScheduledStartTime('2019-01-18T11:50:00.000Z');

根据 YouTube Live Streaming API DocsscheduledStartTime 的格式必须为 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');