我实现了这个逻辑,我从Moment.js中获取2个日期和时间之间的差异作为秒,我需要将这些秒转换为1 Year 3 Months 10 Days 5 Hours 45 Minutes
。
var numyears = Math.floor(seconds / 31536000);
var nummonths = Math.floor((seconds % 31536000) / 2628000);
var numdays = Math.floor(((seconds % 31536000) % 2628000) / 86400);
var numhours = Math.floor((((seconds % 31536000) % 2628000) % 86400)/3600);
var numminutes = Math.floor((((seconds % 31536000) % 86400) % 3600) / 60);
我得到了正确的值,但从几个小时开始就有问题了。
4条答案
按热度按时间umuewwlo1#
日期和日历是政治性的,并不总是符合简单的算术。我使用过的大多数语言都能为你解决这个问题,据我所知,JavaScript可以做到这一点。(注意,我们将在2015年6月30日在日历中添加另一个闰秒-http://en.wikipedia.org/wiki/Leap_second。)
考虑到所有这些,这个答案在很大程度上是一个近似值,因为它没有考虑月份、闰日或闰秒的长度,但是,它是一个东西:
ffvjumwh2#
我是这样处理的,运行了一些单元测试,我发现@Aun Shanbaz Awan解决方案给出了错误的时差
gcxthw6b3#
acruukt94#