ブルーシュ

IT技術の勉強記録

ホーム > Tips > Google API

DateTimeクラスでYouTube投稿日を比較 – PHPでYouTube Data API

,

概要

YouTube Data APIでは動画の投稿日を取得できます。動画(Videos)リソースのlistメソッドを使います。この情報を使って、動画が定められた期間に投稿されたかどうか判定するプログラムです。投稿日時は世界標準時(UTC)で渡されるのでひと手間加えます。

まずは、下準備として

をごらんください。

ソースコード

<?php
//APIを呼んで返ってきた値
$res_publishedAt = $res['snippet']['publishedAt'];

//この時点では世界標準時(UTC)
$publishedAt = new DateTime($res_publishedAt);

//日本時間にする
$publishedAt->setTimezone(new DateTimeZone('Asia/Tokyo'));

//比較時間1
$startAt = new DateTime("2023-01-01 00:00:00", new DateTimeZone('Asia/Tokyo'));
//比較時間2
$endAt = new DateTime("2023-12-31 23:59:59", new DateTimeZone('Asia/Tokyo'));

if($publishedAt < $startAt || $endAt < $publishedAt){
	echo "期間外に投稿されました。";
}

注意

APIを呼んで返ってきた値をnew DateTime()に入れていますが、第二引数にnew DateTimeZone('Asia/Tokyo')をセットしてもうまくいきませんでした。なのでsetTimezone()と分けて日本時間に変換します。
 
ちなみに投稿日時を表示したい場合はこのようになります。

echo "投稿日時は{$publishedAt->format('Y年m月d日 H:i:s')}です。";

サンプルコード

その他、サンプルコードやGoogle APIに関するTIPSなどの一覧ページはこちら
Google APIに関する記事一覧

DateTimeクラスでYouTube投稿日を比較 – PHPでYouTube Data API #Google API #ウェブデザイン #ウェブ制作 #WEBデザイン #WEB制作 #datetime #PHP

作者の似顔絵

プログラミング歴19年🌈調べたことをブログにまとめていきます。
記事の感想・質問・間違い指摘などはツイッター ( @blooshcompany ) へお願いします。

秋田のウェブ活用をサポート

ホームページを自作してコスト削減!秋田の事業者は無料で利用できます。
ネットショップ・WordPress・SEO対策などさまざまなお悩みをサポートします。

その他、フロントエンド案件のご依頼はインフォメーション

秋田市 レンタル着物 笹パンダ堂のバナーリンク