如何用时刻获得一天的开始和结束



我想使用 moment 获取当天的开始和结束(以及明天的附件.add(1, 'day')(。

我现在得到的是

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

由于时间偏移了一个小时,我相信这与时区有关,尽管我不明白这有什么相关性:无论时区如何,该时区的一天从今天午夜之后开始,到今天午夜之前结束。

它给你当地时间午夜,但你是在祖鲁时间打印出来。请尝试改用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>

如果你想从星期一开始,你必须使用这个moment().startOf('isoWeek');

console.log({
  from_date: moment().startOf('isoWeek').toString(),
  today: moment().toString(),
  to_date: moment().endOf('isoWeek').toString(),
});

最新更新