Jquery 以小时为单位的日期差异
Jquery Date difference in Hours
我试图在不使用任何第 3 方日期相关库的情况下找出 2 个日期之间的日期差异(以小时为单位)。我使用了下面的代码,但它显示了错误的时间。请提出任何更好的建议或指示来更正此问题。
var FutureDate=new Date('2016-05-08T05:19:05.83');
var TodayDate = new Date();
var t1 = FutureDate.getTime();
var t2 = TodayDate.getTime();
var diffInHours = parseInt((t2-t1)/(24*3600*1000));
alert(diffInHours);
您实际上可以在本机中相互减去日期。
var msIn1Hour = 3600 * 1000;
var TodayDate = new Date();
var FutureDate = new Date('2016-05-08T05:19:05.83');
alert((TodayDate - FutureDate)/msIn1Hour);
注意:我不太清楚您为什么使用 parseInt
,因为这是用来将 string
转换为 int
。如果要舍入数字,请使用 Math.floor
或 Math.round
.
var futureDate = new Date('2016-06-08T05:19:05.83');
var todayDate = new Date();
var milliseconds = futureDate.getTime() - todayDate.getTime();
var hours = Math.floor(milliseconds / (60 * 60 * 1000));
alert('Hours: ' + hours);
- 小时 : 分钟 = 1 : 60
- 分:秒=1:60
- 秒:毫秒 = 1:1000
- 小时: 毫秒 = 1 : 60x60x1000
只需从公式中删除除以 24 即可。 24 实际上是将其转换为 difference in days
.
t2-t1 = x milliseconds
x/1000 = y seconds
y/3600 = z hours
当你有 z 时你就完成了。所以,你不必除以 24。所以,你可以简单地写
var FutureDate=new Date('2016-05-08T05:19:05.83');
var TodayDate = new Date();
var t1 = FutureDate.getTime();
var t2 = TodayDate.getTime();
var diffInHours = Math.floor((t2-t1)/(3600*1000)); //Removed the 24 here
alert(diffInHours);
我试图在不使用任何第 3 方日期相关库的情况下找出 2 个日期之间的日期差异(以小时为单位)。我使用了下面的代码,但它显示了错误的时间。请提出任何更好的建议或指示来更正此问题。
var FutureDate=new Date('2016-05-08T05:19:05.83');
var TodayDate = new Date();
var t1 = FutureDate.getTime();
var t2 = TodayDate.getTime();
var diffInHours = parseInt((t2-t1)/(24*3600*1000));
alert(diffInHours);
您实际上可以在本机中相互减去日期。
var msIn1Hour = 3600 * 1000;
var TodayDate = new Date();
var FutureDate = new Date('2016-05-08T05:19:05.83');
alert((TodayDate - FutureDate)/msIn1Hour);
注意:我不太清楚您为什么使用 parseInt
,因为这是用来将 string
转换为 int
。如果要舍入数字,请使用 Math.floor
或 Math.round
.
var futureDate = new Date('2016-06-08T05:19:05.83');
var todayDate = new Date();
var milliseconds = futureDate.getTime() - todayDate.getTime();
var hours = Math.floor(milliseconds / (60 * 60 * 1000));
alert('Hours: ' + hours);
- 小时 : 分钟 = 1 : 60
- 分:秒=1:60
- 秒:毫秒 = 1:1000
- 小时: 毫秒 = 1 : 60x60x1000
只需从公式中删除除以 24 即可。 24 实际上是将其转换为 difference in days
.
t2-t1 = x milliseconds
x/1000 = y seconds
y/3600 = z hours
当你有 z 时你就完成了。所以,你不必除以 24。所以,你可以简单地写
var FutureDate=new Date('2016-05-08T05:19:05.83');
var TodayDate = new Date();
var t1 = FutureDate.getTime();
var t2 = TodayDate.getTime();
var diffInHours = Math.floor((t2-t1)/(3600*1000)); //Removed the 24 here
alert(diffInHours);