有没有一种方法可以在JavaScript中将毫秒转换为年,月,日,分,秒?

时间:2016-07-13 14:54:46

标签: javascript

我试图比较2个日期并通过年,月,日,分和秒表示差异(转换为毫秒)。我是JS的新手,我查找了一个准备好的方法将毫秒转换为年,月,天,分,秒但没有找到。告诉我,请问有这样的方法吗?如果不是我该怎么办?只需将差异分开并使用提醒功能即可获得帮助。

2 个答案:

答案 0 :(得分:2)

如果没有日历并且知道输入日期,那么您所能做的最好就是近似。

这是一个脚本,显示自昨晚午夜过去的时间。



var diff = Date.now() - Date.parse("July 13, 2016");

var seconds = Math.floor(diff / 1000),
    minutes = Math.floor(seconds / 60),
    hours   = Math.floor(minutes / 60),
    days    = Math.floor(hours / 24),
    months  = Math.floor(days / 30),
    years   = Math.floor(days / 365);

seconds %= 60;
minutes %= 60;
hours %= 24;
days %= 30;
months %= 12;

console.log("Years:", years);
console.log("Months:", months);
console.log("Days:", days);
console.log("Hours:", hours);
console.log("Minutes:", minutes);
console.log("Seconds:", seconds);




答案 1 :(得分:1)

没有内置的方法可以将给定的毫秒转换为等效的秒,分钟,小时,天,月或年。

你必须使用数学。虽然您只能准确转换到几天。月份和年份将因月份为28,29,30或31而有所不同,并且有闰年。

在你自己写任何东西之前,请考虑查看http://momentjs.com/,因为你可以使用这个库做更多的事情,比如添加和减去天或小时等等。