gpt4 book ai didi

javascript - Moment.js - 获取两个生日的年、月、日差异

转载 作者:行者123 更新时间:2023-12-03 01:07:10 25 4
gpt4 key购买 nike

我正在寻找一种使用 momentjs 解析两个日期以显示差异的方法。

我想要的格式是:“X 年,Y 月,Z 天”。

多年来,库和模运算符一直工作得很好。但现在又是另一个故事了,因为我不想自己处理闰年之类的事情。到目前为止我脑子里的逻辑是这样的:

var a = moment([2015, 11, 29]);
var b = moment([2007, 06, 27]);

var years = a.diff(b, 'years');
var months = a.diff(b, 'months') % 12;
var days = a.diff(b, 'days');
// Abit stuck here as leap years, and difference in number of days in months.
// And a.diff(b, 'days') returns total number of days.
return years + '' + months + '' + days;

最佳答案

您可以获得年份差异并将其添加到初始日期;然后得到几个月的差异并将其再次添加到初始日期。

通过这样做,您现在可以轻松获得天数差异,并避免使用模运算符。

Example Here

var a = moment([2015, 11, 29]);
var b = moment([2007, 06, 27]);

var years = a.diff(b, 'year');
b.add(years, 'years');

var months = a.diff(b, 'months');
b.add(months, 'months');

var days = a.diff(b, 'days');

console.log(years + ' years ' + months + ' months ' + days + ' days');
// 8 years 5 months 2 days

我不知道有更好的内置方法来实现此目的,但此方法似乎效果很好。

关于javascript - Moment.js - 获取两个生日的年、月、日差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33988129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com