1

YouTube は次のようにUpdated dateSubmitted on日付を返します。2010-08-22T04:46:18.000Z

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

4

3 に答える 3

6
$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
于 2010-12-15T09:59:08.287 に答える
3

strtotimeのように聞こえますが、探しているものです。

編集:これが機能しない場合は、日付と時刻のクラスを見てください-指定された形式で日付を解析するためのメソッドがあります(このように-タイムスタンプを直接返すことはありませんが、これからDateTimeを構築すると、getTimestamp メソッドを使用できます)

于 2010-12-15T09:31:52.090 に答える
0

これを試して:

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

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

于 2010-12-15T09:49:14.963 に答える