35

Mongodb では、日付と時刻を ISODate 形式で保存しています。

このように見える

ISODate("2012-07-14T01:00:00+01:00")

nodejs/javascriptを使用して、時間コンポーネントを表示するにはどうすればよいですか?

Time : 01:00

これを簡単にするためにmomentjsを使用していますが、momentjsはISODate形式をサポートしているようです。

助けてくれてありがとう。

4

4 に答える 4

37

JavaScript の Date オブジェクトは ISO 日付形式をサポートしているため、日付文字列にアクセスできる限り、次のようなことができます。

> foo = new Date("2012-07-14T01:00:00+01:00")
Sat, 14 Jul 2012 00:00:00 GMT
> foo.toTimeString()
'17:00:00 GMT-0700 (MST)'

秒とタイムゾーンのない時間文字列が必要な場合は、Date オブジェクトで getHours() メソッドと getMinutes() メソッドを呼び出して、時間を自分でフォーマットできます。

于 2012-07-14T22:32:58.640 に答える
32

MongoDB のISODate()は、JavaScript 日付オブジェクトをラップし、ISO 日付文字列の操作を容易にする単なるヘルパー関数です。

次のように、通常の JS Date を操作するのと同じメソッドをすべて使用できます。

ISODate("2012-07-14T01:00:00+01:00").toLocaleTimeString()

// Note that getHours() and getMinutes() do not include leading 0s for single digit #s
ISODate("2012-07-14T01:00:00+01:00").getHours()
ISODate("2012-07-14T01:00:00+01:00").getMinutes()
于 2012-07-14T23:10:43.980 に答える
2

この yearMonthDayhms: { $dateToString: { format: "%Y-%m-%d-%H-%M-%S", date: {$subtract:["$cdt",14400000] のような mongo クエリを使用できます。 }}}

HourMinute: { $dateToString: { format: "%H-%M-%S", date: {$subtract:["$cdt",14400000]}}}

ここに画像の説明を入力

于 2016-08-24T19:15:40.303 に答える