我的组件中有开始日期和结束日期,我正在通过时间选择器使用moment库获得这些日期。
因此,假设我的数据报警器选择了startDate和endDate作为今天的选择。现在,我需要另一个日期,比如previousStartDate和previousEndDate,与startDate和endDate相比,它们的时间差应该是相同的。
startDate = '20-06-2019 00:00:00'
endDate = '20-06-2019 23:59:59'所以previousStartDate和previousEndDate应该是
previousStartDate = '19-06-2019 00:00:00'
previousEndDate = '19-06-2019 23:59:59'怎么能做到呢?
我试过了,但没有成功。
  getPreviousStartDates ({ startDate, endDate }) {
     const diff = endDate.diff(startDate)
     const diffDuration = moment.duration(diff)
     const subtractStartDate = startDate.subtract(diff)
     console.log({subtractStartDate})
     return subtractStartDate
  }再澄清一些
假设startDate和endDate之间的时差是3天(17-6-2019 00:00:00 && 19-6-2019 23:59:59),那么previousStartDate和previousEndDate之间的时间差应该是相同的,但是过去的3天。(14-6-2019 00:00:00 && 16-6-2019 23:59:59)
发布于 2019-06-20 11:27:34
它是否要求使用动量完成?我不太熟悉动量,但您可以在javascript中这样做:
let start = new Date("2019-06-20 00:00:00");
let end = new Date("2019-06-20 23:59:59");
let duration = end.getTime() - start.getTime(); // milliseconds
let prevStart = new Date(start.getTime() - duration);
let prevEnd = new Date(prevStart.getTime() + duration);https://stackoverflow.com/questions/56683364
复制相似问题