我正在使用带有moment.js的 node.js来格式化时间。我想将患者的年龄格式化为月和年。这是我到目前为止所得到的:
patient: {
...
birthDate: moment('Dec 15, 2009'),
getAgeString: function() {
var age = moment.duration(moment() - this.birthDate);
return util.format('%d years, %d months', age.years(), age.months());
}
}
该getAgeString
函数给了我 back 3 years, 1 months
,这非常接近我想要的,除了我希望它被正确地复数。据我所知,moment 并没有为持续时间提供适当的复数形式。
this.birthDate.fromNow(true)
是“智能的”,但它似乎没有提供任何关于显示内容的自定义选项。
我可以让 moment.js 做我想做的事,还是有更好的 node 时间库?
现在必须这样做:
getAgeString: function() {
var age = moment.duration(moment() - this.birthDate);
var years = age.years(), months = age.months();
return util.format('%d year%s, %d month%s', years, years === 1 ? '' : 's', months, months === 1 ? '' : 's');
}