Moment: startOf('day')は昨日私にくれました

作成日 2016年04月03日  ·  3コメント  ·  ソース: moment/moment

Chromeバージョン49.0.2623.110mで次のコードを実行する
image
多分#2982に関連していますか?

最も参考になるコメント

moment()関数を使用して日付を作成しているため、momentはローカル日付を処理していると想定します。 したがって、 .startOf()関数は、ローカル日付の開始に移動します。
ただし、 .toISOString()は、文字列の最後にあるZで示されているように、UTC日付を出力します。

githubプロファイルに基づくと、イスラエルにいるようです。 したがって、アジア/エルサレムのタイムゾーンを調整し、すべてをコードに入れます。

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

現地時間で完全に作業し、 .format()を使用して目的の結果を得るか、UTCで完全に作業する必要があります。

ドキュメントのこのセクションが役立つ場合があります。
http://momentjs.com/guides/#/parsing/local -utc-zone /

全てのコメント3件

moment()関数を使用して日付を作成しているため、momentはローカル日付を処理していると想定します。 したがって、 .startOf()関数は、ローカル日付の開始に移動します。
ただし、 .toISOString()は、文字列の最後にあるZで示されているように、UTC日付を出力します。

githubプロファイルに基づくと、イスラエルにいるようです。 したがって、アジア/エルサレムのタイムゾーンを調整し、すべてをコードに入れます。

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

現地時間で完全に作業し、 .format()を使用して目的の結果を得るか、UTCで完全に作業する必要があります。

ドキュメントのこのセクションが役立つ場合があります。
http://momentjs.com/guides/#/parsing/local -utc-zone /

:face-palm:

徹底的な説明ありがとうございます。

私は実際にこれを今週少なくとも2回こことStackOverflowの間で説明したと思います。 混乱するのはあなただけではありません。 UTC部分をもう少し明確にするために、ドキュメントを更新します。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

benhathaway picture benhathaway  ·  3コメント

dbshwang picture dbshwang  ·  3コメント

danieljsinclair picture danieljsinclair  ·  3コメント

slavafomin picture slavafomin  ·  3コメント

RobinvanderVliet picture RobinvanderVliet  ·  3コメント