我想使用 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(),
});