无法使用moment.js获取上一个日期



我有以下日期

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

现在,我想从api_date开始获取前两个日期。基本上现在我需要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的文档,但没有找到确切的答案。

您应该根据想要解析的日期创建一个日期对象,

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')

你快到了,你需要把你的日期推迟到现在。否则,它默认为当前日期(正如您所发现的(。

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

最新更新