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

发布于 2025-01-11 09:35:45 字数 558 浏览 0 评论 0原文

我有以下日期

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 个日期,即 2 月 28 日和 2 月 27 日。

我尝试使用下面的代码

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

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

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

I have the following date

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

Now, i want to get previous 2 dates starting from api_date. Basically now i need dates as 2022-02-28T00:00:00.000Z and 2022-02-27T00:00:00.000Z
Basically for api_date of 1st March, i need previous 2 dates as Feb 28th and Feb 27th.

I tried using this below code

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

But this only provides previous 2 dates from the present date. i.e. present date is 2nd March, so it provides previous 2 dates based of 2nd March.

how can i use moment to get my current specified date and get previous 2 dates based on that. Any advice to achieve that ? i saw the documentation of moment.js too but i didnt find a definitive answer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星星的軌跡 2025-01-18 09:35:45

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

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

You should create a date object from the date you wanna parse like this,

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

then you can create a moment object based on the date object just like this,

var momentObj = moment(dateObj);

then if you perfom your specific logic you will get your desired result, like this

 let date1 = momentObj.substract(1, 'days')
 let date2 = momentObj.substract(2, 'days')
狼亦尘 2025-01-18 09:35:45

你就快到了,你需要把你的约会推迟到这一刻。否则它默认为当前日期(正如您所发现的)。

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

You were almost there, you need to pass your date to moment. Otherwise it defaults to current date ( as you found out ).

let t-1 =  moment(api_date).subtract(1, 'days')
let t-2 =  moment(api_date).subtract(2, 'days')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文