我试图让特定的一天开始和结束。
以下是代码:
var newDay, newDayEnd, newDayStart;
if (newDay === '') {
newDay = moment();
}
newDay.subtract('day', 1);
newDayStart = newDay.startOf('day');
newDayEnd = newDay.endOf('day');
我试图调试它,并且我注意到,如果值通过,则值正确,但一旦达到newDay.endOf('day')
,它会将所有变量设置为指定日期的结尾( 23.59.59)
我在点击按钮时使用上述功能。每次我点击一个按钮,它都会返回(newDay.subtract('day', 1))
一天,我需要能够开始和结束新的一天(newDay
变量)
有任何帮助吗? 我在这做错了什么?我不明白。
由于
答案 0 :(得分:1)
Moment对象是可变的,因此在修改它们之前必须clone()
。
正如您可以阅读endOf
文档:
通过将原始时刻设置为单位时间的结尾来突变原始时刻。
工作示例:
var newDay, newDayEnd, newDayStart;
newDay = moment().subtract(1, 'day');
newDayStart = newDay.clone().startOf('day');
newDayEnd = newDay.clone().endOf('day');
console.log(newDayStart.format(), newDayEnd.format());
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>