2011-08-11 7 views
3

datetimeを格納する方法はありますか?だから私は2つのdatetimesとdatetimeの範囲でクエリの間の時間差を計算することができます。PHPでmongoDBの "datetime"をどうすれば処理できますか?

また、正確な時刻を示したいと思います。例)12:00:00 01-Jan-2001

この問題を処理するために、タイムゾーンまたは他のより良い方法でunix-stampとdatetimeの両方の文字列を保存する必要がありますか?

答えて

5

MongoDBに日付を格納するには、MongoDateクラスを使用する必要があります。マニュアルから

...

のMongoDB店はエポック過去ミリ秒としてさかのぼります。これは、日付にタイムゾーン情報が含まれていないことを意味します。

を必要に応じてタイムゾーンは、あなたがsec財産を取得し、DateTime::setTimestamp()でそれを使用してDateTimeオブジェクトにこれらを変換することができます別のフィールドに格納する必要があります。また参照してくださいDateTime::setTimezone()

+2

この記事を見て:http://derickrethans.nl/storing-date-time-in-database.html。タイムゾーンを保存する必要がある理由を説明します。 – Maxence

0

異なるタイムゾーンを処理する必要があるアプリケーションをお持ちの場合は、すべての日付をアプリケーションタイムゾーンに変換してからdbに保存します。このようにして、適切な計算を行うことができます。アプリケーション中に元のタイムゾーンに戻る必要がある場合は、元のタイムゾーンの名前も保存すると、再計算することができます。

関連する問題