Chromeバージョン49.0.2623.110mで次のコードを実行する
多分#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 /
:face-palm:
徹底的な説明ありがとうございます。
私は実際にこれを今週少なくとも2回こことStackOverflowの間で説明したと思います。 混乱するのはあなただけではありません。 UTC部分をもう少し明確にするために、ドキュメントを更新します。
最も参考になるコメント
moment()
関数を使用して日付を作成しているため、momentはローカル日付を処理していると想定します。 したがって、.startOf()
関数は、ローカル日付の開始に移動します。ただし、
.toISOString()
は、文字列の最後にあるZで示されているように、UTC日付を出力します。githubプロファイルに基づくと、イスラエルにいるようです。 したがって、アジア/エルサレムのタイムゾーンを調整し、すべてをコードに入れます。
現地時間で完全に作業し、
.format()
を使用して目的の結果を得るか、UTCで完全に作業する必要があります。ドキュメントのこのセクションが役立つ場合があります。
http://momentjs.com/guides/#/parsing/local -utc-zone /