如何使用moment.js将日期添加或减去默认日期?
我正在尝试获取本周的开始和结束日期,如下所示:
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.startOf('isoWeek').weekday(0);
const endOfWeek = current.endOf('isoWeek').weekday(6);
致电endOfWeek
时,我获得了预期的价值。
但是,我的问题是startOfWeek
被endOfWeek
值覆盖。
我想获得startOfWeek
和endOfWeek
答案 0 :(得分:30)
您只需要在修改之前克隆时刻。使用current.clone().whatever...
或moment(current).whatever...
。他们都做同样的事情。
这是必要的,因为时刻可变。
答案 1 :(得分:4)
您需要克隆当前值,然后执行操作:
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.clone().startOf('isoWeek').weekday(0);
const endOfWeek = current.endOf('isoWeek').weekday(6);
答案 2 :(得分:-1)
通过获取startOfWeek
的格式并将其保存在变量中来解决问题。然后从新变量,我将其转换为片刻实例,从这里,我得到endOfWeek
值。
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.startOf('isoWeek').weekday(0);
const startOfWeekConvert = startOfWeek.format('YYYY-MM-DD');
const endOfWeek = startOfWeekConvert.endOf('isoWeek').weekday(6);
我现在能够同时获得本周的开始和结束日期。