在js时刻将日期从一周移动到一周

时间:2019-04-04 14:36:20

标签: typescript momentjs

我正在建立一个在线计划,允许用户将一周中的特定时间移动到另一周。使用MomentJS,我想知道是否有现成的解决方案,否则,想办法实现此目标。

以下是一个用例:

  1. 用户已预约2018年12月28日(星期五)
  2. 用户希望在2周后将其移动
  3. 预期结果将是2019年1月11日星期五

如果有帮助,这里是这种情况的基本代码(在TypeScript中):

let firstAppointment = moment("2018-12-28T00:00:00.000Z");
let amountOfWeek:number = 2;
//do the operation...

编辑1 我已经进行了一些测试,这是结果。结果日期似乎有几个小时了

let firstAppointment = moment("2018-12-28T00:03:00.000Z");
firstAppointment.add(2,"weeks");
console.log(firstAppointment.toISOString(false));
//result: 2019-01-10T19:03:00.000Z

这与时区有关吗?

1 个答案:

答案 0 :(得分:0)

感谢Alex Kucksdorf,这是解决方案。为了计算正确的时间,我们需要进入由MomentJS提供的UTC模式 Moment.js UTC documentation

let firstAppointment = moment.utc("2018-12-28T00:03:00.000Z");
firstAppointment.add(2,"weeks");
console.log(firstAppointment.toISOString());