1. ホーム
  2. javascript

1日の始まりと終わりをmomentで取得する方法とは?

2023-09-18 06:33:55

質問

私は現在の日の始まりと終わりを取得したいです(そして、明日のアクセサリを .add(1, 'day') を使って取得したい。 moment .

今、私が得ているものは

now = moment()
console.log('now ' + now.toISOString())
console.log('start ' + now.startOf('day').toISOString())
console.log('end ' + now.endOf('day').toISOString())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>

これは今すぐ出力されます

now 2018-04-18T21:20:02.010Z
start 2018-04-17T23:00:00.000Z
end 2018-04-18T22:59:59.999Z

時間が1時間ずれているので、これはタイムゾーンに関係するものだと思いますが、これがどのように関係するのか理解できません。タイムゾーンに関係なく、そのタイムゾーンの1日は今日の午前0時直後に始まり、今日の午前0時直前に終わります。

どのように解決するのですか?

現地時間の深夜0時が表示されているのに、ズールー時間でプリントアウトされています。試しに toString を使うと、ローカルタイムで表示されます。

now = moment()
console.log('now ' + now.toString())
console.log('start ' + now.startOf('day').toString())
console.log('end ' + now.endOf('day').toString())
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>