7

私はYouTubeビデオの公開日を取得するために以下を使用しています:

$url = "http://gdata.youtube.com/feeds/api/videos/{$random_text}?v=2&alt=json";
$json = file_get_contents($url);
$json = str_replace('$', '_', $json);
$obj = json_decode($json);
$video_date = $obj->entry->published->_t;

次の形式で日付を出力します。

2012-10-18t13:04:42.000z

これをphpでDD/MM/YY形式に変換するにはどうすればよいですか?

私は解決策を試しました:

これはどのような時刻形式ですか? また、標準化された dd/mm/yyyy 日付に変換するにはどうすればよいですか?

$video_date_pre = $obj->entry->published->_t;
// format the video date
$video_date = date_format($video_date_pre, 'd/m/Y');

しかし、私はエラーが発生しています:

警告: date_format() は、パラメーター 1 が DateTime であることを想定しています。

ありがとうございました。

アップデート

元のソースは次のようになっていることに注意してください (ここで「公開済み」を検索できます)。

http://gdata.youtube.com/feeds/api/videos/eiAx2kqmUpQ?v=2&alt=json

4

1 に答える 1

9

これを試して:

$video_date = date('d/m/y', strtotime($video_date_pre));

このソリューションでは、最初に文字列を Unixtime に変換する必要があります。その後、date() 関数を使用できます。

http://php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/function.date.php

または、DateTime オブジェクトを使用できます。

$dateObject = new DateTime($video_date_pre);
$video_date = date_format($dateObject , 'd/m/y');
于 2012-11-12T03:49:35.257 に答える