日付をmm/dd / YYYY形式で保存して、mongoShellで次のことを試してみました。
dt=new Date(2012,01,01)
ISODate("2012-01-31T18:30:00Z")
これは私の望ましいフォーマットではありません。私はそれをISODate( "2012-01-01")として保存しようとしています。これにより、mongoDBから目的のデータをフェッチするために、比較の種類よりも多くの値を使用できるようになります。
あなたの質問は、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 タイム ゾーンとの相対タイム ゾーンにも注意する必要があるためです。