尝试使用 Moment.js dateAdd 并得到奇怪的结果
Trying to dateAdd with Moment.js and getting odd results
我有一个非常基本的循环
console.log(thisStart);
console.log(thisEnd);
console.log(thisDate);
while(checkcounter < 10){
console.log(checkcounter);
thisDate = moment(thisDate,'MM/DD/YYYY').add(1,'days').toDate('MM/DD/YYYY');
console.log(thisDate);
checkcounter++;
}
我希望第二天给我格式化 MM/DD/YYYY 但第一次迭代是第二天,但它跳了 6 个月。
作为新 moment.js 用户,我不确定我哪里出错了
问题出在循环内的语句中:
thisDate = moment(thisDate,'MM/DD/YYYY').add(1,'days').toDate('MM/DD/YYYY');
第一个错误是在第一个参数是 Date
对象时将格式字符串传递给 moment
构造函数。 As described here,仅当第一个参数是包含日期的字符串时才需要传递格式字符串:
thisDate = moment(thisDate).add(1,'days').toDate('MM/DD/YYYY');
add
调用是正确的,但 doDate
调用不正确。函数 toDate
does not take in input a format string:
thisDate = moment(thisDate).add(1,'days').toDate();
这里是完整的代码片段:
var thisDate = new Date(),
checkcounter = 0;
console.log('Init:', thisDate);
while (checkcounter < 10) {
console.log('Check counter:', checkcounter);
thisDate = moment(thisDate).add(1, 'days').toDate();
console.log('thisDate:', thisDate);
checkcounter++;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.js"></script>
我有一个非常基本的循环
console.log(thisStart);
console.log(thisEnd);
console.log(thisDate);
while(checkcounter < 10){
console.log(checkcounter);
thisDate = moment(thisDate,'MM/DD/YYYY').add(1,'days').toDate('MM/DD/YYYY');
console.log(thisDate);
checkcounter++;
}
我希望第二天给我格式化 MM/DD/YYYY 但第一次迭代是第二天,但它跳了 6 个月。
作为新 moment.js 用户,我不确定我哪里出错了
问题出在循环内的语句中:
thisDate = moment(thisDate,'MM/DD/YYYY').add(1,'days').toDate('MM/DD/YYYY');
第一个错误是在第一个参数是 Date
对象时将格式字符串传递给 moment
构造函数。 As described here,仅当第一个参数是包含日期的字符串时才需要传递格式字符串:
thisDate = moment(thisDate).add(1,'days').toDate('MM/DD/YYYY');
add
调用是正确的,但 doDate
调用不正确。函数 toDate
does not take in input a format string:
thisDate = moment(thisDate).add(1,'days').toDate();
这里是完整的代码片段:
var thisDate = new Date(),
checkcounter = 0;
console.log('Init:', thisDate);
while (checkcounter < 10) {
console.log('Check counter:', checkcounter);
thisDate = moment(thisDate).add(1, 'days').toDate();
console.log('thisDate:', thisDate);
checkcounter++;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.js"></script>