質問

YouTubeが返します Updated dateSubmitted on 次の日付: 2010-08-22T04:46:18.000Z

PHP機能、またはこれを解析する日付マスクはありますか?

役に立ちましたか?

解決

$dt = DateTime::createFromFormat("Y-m-d\TH:i:s.uP", "2010-08-22T04:46:18.000Z");
var_dump($dt);
// object(DateTime)#1 (3) {
//   ["date"]=>
//   string(26) "2010-08-22 04:46:18.000000"
//   ["timezone_type"]=>
//   int(2)
//   ["timezone"]=>
//   string(1) "Z"
// }

これはを使用します DateTime クラス。それはタイムゾーンであり、分数秒が認識されています。日付を表示するには、を使用します format 方法:

echo $dt->format("Y-m-d H:i:s e");
// 2010-08-22 04:46:18 Z

日付をローカルタイムゾーンに変換するには、を使用します setTimezone 方法:

$dt->setTimezone(new DateTimeZone(date_default_timezone_get()));
echo $dt->format("Y-m-d H:i:s e");
// 2010-08-21 21:46:18 America/Los_Angeles

他のヒント

のように聞こえる strtotime あなたが探しているものです。

編集: これがうまくいかない場合は、 日付と時刻のクラス - 指定された形式で日付を解析する方法があります(このような - タイムスタンプを直接返しませんが、これからデータを構築すると、それを使用できます GetTimestamp-方法)

これを試して:

$date=substr("2010-08-22T04:46:18.000z",0,strlen("2010-08-22T04:46:18.000z")-1);
$stamp=strtotime($date);

最後の「z」は、strtotimeの問題のようです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top