JavaScript的日期差异
我看:Get difference between 2 dates in javascript?JavaScript的日期差异
我仍然不能得到这个工作。
var difference = data.List[0].EndDate - Math.round(new Date().getTime()/1000.0) * 1000;
var daysRemaining = Math.floor(difference/1000/60/60/24);
var hoursRemaining = Math.floor(difference/1000/60/60 - (24 * daysRemaining));
var minutesRemaining = Math.floor(difference/1000/60 - (24 * 60 * daysRemaining) - (60 * hoursRemaining));
var secondsRemaining = Math.floor(difference/1000 - (24 * 60 * 60 * daysRemaining) - (60 * 60 * hoursRemaining) - (60 * minutesRemaining));
Data.List模块[0] .EndDate是UTC号码(如:1291427809310(http://www.epochconverter.com/)),将永远是晚于当前的日期。
你说UTC时间戳是“2004-09-16T23:59:58.75”?
所以你基本上是做
var x = "2004-09-16T23:59:58.75" - 123456
现在你澄清说,除上述不适。你的新问题是过去的毫秒数,所以当你进行差异计算时,你会得到一个负数。您可能想要交换订单。
var difference = new Date().getTime()-data.List[0].EndDate;
对不起,我的坏,这是一个数字像1291427809310 – williamparry 2010-12-14 03:38:52
根据您在评论中说的内容添加新的信息 – epascarello 2010-12-14 14:47:26
如果结束日期以毫秒为单位,和的getTime()返回毫秒,你为什么要除以1000只至1000在同一条直线倍增呢?如果你只需要其他代码的第二精度,为什么要以毫秒为单位工作?启动了有几秒钟,以简化所有的计算:
var difference = Math.round((data.List[0].EndDate - new Date().getTime())/1000);
function days_between(date1, date2) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24
// Convert both dates to milliseconds
var date1_ms = date1.getTime()
var date2_ms = date2.getTime()
// Calculate the difference in milliseconds
var difference_ms = Math.abs(date1_ms - date2_ms)
// Convert back to days and return
return Math.round(difference_ms/ONE_DAY)
}
这不涉及date1和date2跨越的情况一天节省灯光的变化事件。请参阅http://stackoverflow.com/a/15289883/850996 – 2013-03-08 08:45:56
我应该在哪种格式中通过日期? – nirav 2013-03-29 06:32:08
我写的一个component如果你不想使用一个完整的图书馆我喜欢moment.js。它还可以输出您需要的任何时间单位(天,周,月,分,小时等)的差异。
下面是它如何工作:
var date1 = date.getTime();
var date2 = data.List[0].EndDate;
var millisecondsRemaining = dateDiff(date1, date2, 'milliseconds');
var secondsRemaining = dateDiff(date1, date2, 'seconds');
var minutesRemaining = dateDiff(date1, date2, 'minutes');
var hoursRemaining = dateDiff(date1, date2, 'hours');
var daysRemaining = dateDiff(date1, date2, 'days');
var weeksRemaining = dateDiff(date1, date2, 'weeks');
var monthsRemaining = dateDiff(date1, date2, 'months');
var yearsRemaining = dateDiff(date1, date2, 'years');
要使用DATEDIFF()方法你可以导入该组件。
作为输出你期待什么? – 2010-12-14 03:33:26
有正确的小时,分钟和秒钟。 – williamparry 2010-12-14 03:39:15
“我无法正常工作”是什么意思? – epascarello 2010-12-14 14:37:25