首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Moment.js -如何获得从日期开始的年数,而不是四舍五入?

Moment.js -如何获得从日期开始的年数,而不是四舍五入?
EN

Stack Overflow用户
提问于 2012-12-28 00:00:48
回答 9查看 137.8K关注 0票数 157

我正在尝试使用Moment.js计算一个人的年龄,但我发现原本有用的fromNow方法会将年份四舍五入。例如,如果今天是2012年12月27日,而此人的出生日期是1978年2月26日,则moment("02/26/1978", "MM/DD/YYYY").fromNow()返回'35年前‘。如何才能让Moment.js忽略月数,而只是返回自该日期以来的年数(即34年)?

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2012-12-28 00:14:31

我发现,将两个日期(提供的日期和当前日期)的月份都重置为1月份是可行的:

代码语言:javascript
复制
> moment("02/26/1978", "MM/DD/YYYY").month(0).from(moment().month(0))
"34 years ago"
票数 13
EN

Stack Overflow用户

发布于 2014-02-25 06:04:01

使用moment.js非常简单:

代码语言:javascript
复制
var years = moment().diff('1981-01-01', 'years');
var days = moment().diff('1981-01-01', 'days');

有关其他参考,请阅读moment.js official documentation

票数 269
EN

Stack Overflow用户

发布于 2016-06-24 08:16:04

http://jsfiddle.net/xR8t5/27/

如果您不需要分数值:

代码语言:javascript
复制
var years = moment().diff('1981-01-01', 'years',false);
alert( years);

如果您想要分数值:

代码语言:javascript
复制
var years = moment().diff('1981-01-01', 'years',true);
alert( years);

单位可以是秒、分钟、小时、天、周、月、年

票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14057497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档