1

日付をmm/dd / YYYY形式で保存して、mongoShellで次のことを試してみました。

dt=new Date(2012,01,01)
ISODate("2012-01-31T18:30:00Z")

これは私の望ましいフォーマットではありません。私はそれをISODate( "2012-01-01")として保存しようとしています。これにより、mongoDBから目的のデータをフェッチするために、比較の種類よりも多くの値を使用できるようになります。

4

2 に答える 2

0

あなたの質問は、Mongo に保存した ISO 日付を文字列に変換する方法についてのようです。Java の適切な構文を作成できると確信していますが、Mongo シェルでは次のように簡単に実行できます。

> d=new Date(2012,01,01)
ISODate("2012-02-01T05:00:00Z")
> print ( d.getFullYear()+"/"+d.getMonth()+"/"+d.getDate() )
2012/1/1

ただし、月を反映した数値ではなく、Date に渡した数値が返されることに注意してください。あなたが使用できることを解決するにはd.toLocaleDateString()

> d.toLocaleDateString()
02/01/2012

これは、JavaScript の Date 関数が 0 から始まる月を取得 (および返す) し、UTC/GMT タイム ゾーンとの相対タイム ゾーンにも注意する必要があるためです。

于 2012-11-22T20:29:49.553 に答える