我试图比较2个日期并通过年,月,日,分和秒表示差异(转换为毫秒)。我是JS的新手,我查找了一个准备好的方法将毫秒转换为年,月,天,分,秒但没有找到。告诉我,请问有这样的方法吗?如果不是我该怎么办?只需将差异分开并使用提醒功能即可获得帮助。
答案 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/,因为你可以使用这个库做更多的事情,比如添加和减去天或小时等等。