好的,我要做的是获取2个不同日期之间的时间值。
例如:
date1 = 3/2/2014 - 14:12
date2 = 4/2/2014 - 16:22
我如何获得date1和date2之间的时差? (26小时,10分钟)< - 这将是我想要的完美输出。
我已经看过解析方法,如果我理解正确的话,我想我可以通过做类似的事情来完成这项工作:
myDate = date1;
myDate.parse(date2);
然后将输出转换为我想要的输出,但是我没有看到任何需要考虑时间的示例。
答案 0 :(得分:0)
您可以使用Date
类,然后只减去2个日期
var difference = ( new Date(2014, 2, 4, 16, 22, 0).getTime()
- new Date(2014, 2, 3, 14, 12, 0).getTime()
) / 1000
getTime()
为您提供以毫秒为单位的时间,因此您必须除以1000才能在几秒钟内得到结果。
答案 1 :(得分:0)
您只需要减去两个Date对象以获得差异,因为JavaScript会自动将其转换为正确的类型:
date1 - date2 //difference in milliseconds
对于格式化,您可以设置与此类似的功能:
Number.prototype.format = function(){
return [
(this/86400|0), "days",
(this/3600|0) % 24 , "hours",
(this/60|0) % 60 , "minutes",
(this|0) % 60 , "seconds"
].join(" ");
};
((date1 - date2)/1000).format(); //Formatted string
演示:http://jsfiddle.net/DerekL/Prb7j/(还包括时间格式)