我正在尝试从特定日期创建一个新的Moment.js对象并操纵这些日期,但这并不能阻止我。
在报告中,用户有一个日期选择器和下一周/上一周的2个按钮。 无论设置了什么日期,当用户单击“下周”时,都必须更新日期选择器,我需要获取该工作周的开始日期和结束日期。假设我的日期选择器当前设置为2019年2月6日星期三。我正在尝试创建一个函数来执行2件事: -在日期选择器中添加1周(2019年2月13日星期三) -获取当前工作周之前和之后的2个日期。 (2019年2月10日星期日之后和2019年2月18日星期一之前)
问题是我似乎无法立即从datepicker字符串生成新日期并对其进行操作。 如果我在不传递日期的情况下创建一个新时刻,那么只需使用moment()即可进行所有操作。
当我在创建新的moment()时传递日期时,不会存储这些操作。 a和b只是输出为同一日期。
奇怪的是,我似乎无法将操作日期存储在变量(a或b)中,但是我的日期选择器正确更新了。
var currentDate = $('#datepicker').datepicker('getDate');
var m = moment(currentDate).add(1, 'weeks');
$('#datepicker').datepicker('setDate', m.format('DD-MM-YYYY') );
var a = m.startOf('isoWeek').subtract(1, 'days');
var b = m.endOf('isoWeek').add(1, 'days');
console.log(a.format('YYYY-MM-DD'));
console.log(b.format('YYYY-MM-DD'));
如果datepicker设置为2019年2月6日
预期结果:
Datepicker: Feb 13 2019
a //2019-02-10
b //2019-02-18
实际结果:
Datepicker: Feb 13 2019
a //2019-02-11
b //2019-02-11