API потоковой передачи YouTube Snippet.scheduledStartTime не работает при создании прямой трансляции
Я создаю YouTube
прямая трансляция с использованием API Explorer все работает нормально, но 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');
1 ответ
Согласно Документам YouTube Live Streaming API, формат для scheduledStartTime
должен быть в формате ISO 8601:
datetime
Дата и время начала вещания. Значение указывается в формате ISO 8601 (ГГГГ-ММ-ДДЧч: мм: сс.с Z).
Я хотел бы предложить вам проверить time zone designator
Вы установили.
Создать дату с часовым поясом
Я не PHP-разработчик, но самое умное, что нужно сделать, это создать дату в правильном часовом поясе, а затем поместить ее в правильный формат. Приблизительно после пяти минут поиска я нашел это.
$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');