0

これを正しく行っているかどうかはわかりませんが、日付関数は正しく表示されているようですが、何らかの理由で PM ではなく AM で時間を返しています。

今、次を使用して新しい日付を作成する場合:

$time = new mongoDate();

次に、それをデータベースに保存すると、次のように表示されます。

ISODate("2014-10-22T00:22:34.619Z")

私が正しく行っていないことがあると仮定していますが、それをフォーマットするときは、次を使用します。

date('d M, Y h:ia', $time->sec)

次のように表示されます。

22 Oct, 2014 12:22am

これが非常に明白なことであることを願っていますが、ISOdateでわかることから、AM時間で表示されているので、私の質問は、なぜPMではなくAMで保存されているのですか?

4

1 に答える 1

1

$time->secUNIXタイムスタンプがあります。このタイムスタンプをdate()関数で使用すると、フォーマットされた日付は設定したタイムゾーンに基づきます。そのため、12 時間の差が生じます。

$dt = new DateTime("@" . $time->sec); // DateTime instance in Z (zulu) timezone
print_r($dt); // print the object
$dt->setTimezone(new DateTimezone('... set your timezone ...'));
print_r($dt); // print the object
于 2014-10-22T09:03:45.150 に答える