这是我做的事情:
var sDate = $('.start input').datepicker('getDate').getTime();
var nDate = $('.end input').datepicker('getDate').getTime();
var dias = Math.floor((nDate - sDate)/1000/60/60/24) + 1;
但是失败了
20/03/2014 to 30/03/2014
->11
天
和
21/03/2014 to 31/03/2014
->10
天,当差异相同时,
缺陷在哪里?
正确的代码是这样的(如上面@ vinod-gubbala所述):
var dias = Math.round((nDate - sDate)/(1000*60*60*24));
基本上,您得到的天数差异(毫秒)将它们除以1000(以秒为单位)* 60(每分钟60秒)* 60(每小时60分钟)* 24(每天24小时)。
不知道为什么要添加+1
末尾。我的意思是,这当然可以用于整天,将他与同一时间的日期进行比较。
您正在遇到的问题可能与夏时制有关。请记住,对于2014年3月的最后一个星期日(3月30日),时间会发生变化(至少在欧洲是这样),因此时间会减少一个小时,并且您的功能会随着时间的变化而逐渐降低,而您失去了天。
问候。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句