【发布时间】:2016-01-05 20:21:12
【问题描述】:
我当前的代码是
function ageInNDays(days) {
return moment.duration(
moment('1990-10-10').diff(
moment().add(days, 'days'))
);
}
我.add(days, 'days') 到今天,然后将其与过去的某个日期进行比较。但是,moment.duration 并不总是返回经过的日历年数。它将一年定义为 365 天,并返回其中已经过去了多少年。
编辑:我仍在寻找我的年龄。如果可能的话,可能会采用类似于 moment.duration() 的 20 年、5 个月和 10 天格式。
如果我的生日是 1992 年 3 月 5 日,那么我的年龄只会在日历经过 3 月 5 日时增加。我的剩余天数只能在每月 5 号过去时重置。
EDIT2:我现在唯一的想法是
age = moment().add(days, 'days').year() - moment('1995-01-05').year()
if ((today's date + added days) < birthday's date)
--age
【问题讨论】:
标签: javascript date momentjs