查找以年为单位的两个日期之间的差异
JavaScript: Finding a difference between two dates in years
我有两个TimeStamps e1和e2(自1970年1月1日以来都以毫秒表示)。我想知道它们之间的年份差异是什么(包括年份的部分-例如2.74是可以接受的结果)
(e2 - e1)除以31536000000是不正确的,因为有闰年。
你评论中的想法很好。但是,您只需要确定是否只有一个时间戳是闰年。然后简单地找出第一次约会和第二次约会之间的区别,通过比较没有年份的时间戳。例如:http://jsfiddle.net/EN8qG/
function compareYears(t1, t2) {
var DAY = 24 * 3600 * 1000,
YEAR = 365 * DAY,
d1 = new Date(t1),
d2 = new Date(t2),
y1 = d1.getFullYear(),
y2 = d2.getFullYear(),
isLeap1 = new Date(y1, 1, 29).getMonth() == 1,
isLeap2 = new Date(y2, 1, 29).getMonth() == 1,
ms1 = t1 - Date.UTC(y1, 0, 0),
ms2 = t2 - Date.UTC(y2, 0, 0),
diff = ms2 - ms1,
rest;
if (isLeap1 && isLeap2) { //two leap years
rest = diff / YEAR;
} else if (isLeap1) {
rest = diff / (YEAR + DAY);
} else if (isLeap2) {
rest = diff / (YEAR + DAY);
} else {
rest = diff / YEAR;
}
return y2 - y1 + rest;
}
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 两个日期时间选择器
- 如何在JavaScript中比较两个日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- Javascript两个日期选择器冲突
- 如何从日期范围选择器中获取两个日期
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 使用javascript将两个输入的日期添加在一起
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 如何将日期和时间拆分为两个元素
- 当前日期两个时间之间的时间