YouTube Data APIがレスポンスとして返すリソース情報の snippet.publishedAt
プロパティには ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ
) 形式で日時を表す文字列が入っている。
snippet.publishedAt に入っている文字列の例 2020-07-01T00:57:09Z
これを日本時間に変換するには DateTime
オブジェクトにタイムゾーン "Asia/Tokyo"
を設定すれば良い。
//...省略...
$response = $youtube->playlistItems->listPlaylistItems('snippet', $params);
foreach ($response['items'] as $item)
{
$snippet = $item['snippet'];
echo "publishedAt: {$snippet['publishedAt']}\n";
/* 出力
publishedAt: 2020-07-01T00:57:09Z
*/
$dt = new DateTime($snippet['publishedAt']);
$dt->setTimezone(new DateTimeZone('Asia/Tokyo'));
echo $dt->format("Y-m-d H:i:s e") . "\n";
/* 出力
2020-07-01 09:57:09 Asia/Tokyo
*/
}
//...省略...