无法使用 moment.js 获取之前的日期

unable to get previous date using moment.js

我有以下日期

let api_date = '2022-03-01T00:00:00.000Z'

现在,我想获取从 api_date 开始的前 2 个日期。基本上现在我需要日期 2022-02-28T00:00:00.000Z2022-02-27T00:00:00.000Z 基本上对于 3 月 1 日的 api_date,我需要前两个日期,即 2 月 28 日和 2 月 27 日。

我尝试使用下面的代码

let t-1 = moment().substract(1, 'days')
let t-2 = moment().subtract(2, 'days')

但这只提供当前日期之前的 2 个日期。即当前日期是 3 月 2 日,因此它提供了基于 3 月 2 日的前两个日期。

我如何使用 moment 来获取我当前指定的日期并根据该日期获取之前的 2 个日期。有什么建议可以实现吗?我也看到了 moment.js 的文档,但我没有找到明确的答案。

你快到了,你需要将你的约会对象传递给 moment。否则它默认为当前日期(如您所见)。

let t-1 =  moment(api_date).subtract(1, 'days')
let t-2 =  moment(api_date).subtract(2, 'days')

你应该像这样从你想解析的日期创建一个日期对象,

let api_date = '2022-03-01T00:00:00.000Z'
var dateObj = new Date(api_date);

然后你可以像这样基于日期对象创建一个时刻对象,

var momentObj = moment(dateObj);

然后如果你执行你的特定逻辑你会得到你想要的结果,就像这样

 let date1 = momentObj.substract(1, 'days')
 let date2 = momentObj.substract(2, 'days')