我想使用.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
由于时间转移了一个小时,我相信这是与时区有关的事情,虽然我不明白这是如何相关的:无论时区,该时区的那一天是在今天午夜之后开始的,在今天午夜之前结束。
答案 0 :(得分:4)
它是在当地时间午夜给你,但你在祖鲁时间打印出来。请尝试使用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>
答案 1 :(得分:0)
如果你想从星期一开始,你必须使用这个moment().startOf('isoWeek');
console.log({
from_date: moment().startOf('isoWeek').toString(),
today: moment().toString(),
to_date: moment().endOf('isoWeek').toString(),
});