87,910
社区成员
发帖
与我相关
我的任务
分享
function getHour(s1, s2) {
var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
s1 = new Date((reDate.test(s1) ? s1 : '2017-1-1 ' + s1).replace(/-/g, '/'));
s2 = new Date((reDate.test(s2) ? s2 : '2017-1-1 ' + s2).replace(/-/g, '/'));
var ms = s2.getTime() - s1.getTime();
if (ms < 0) return 0;
return Math.floor(ms / 1000 / 60 / 60);
}
//自己注意传递要么都带日期,要么都不带,否则计算出来的不对
alert(getHour('2017-8-23 12:05:05', '2017-8-25 10:05:05'))
alert(getHour('12:05:05', '10:05:05'))
alert(getHour('10:05:05', '12:05:05'))
function getHour(s1,s2) {
s1 = new Date(s1.replace(/-/g, '/'));
s2 = new Date(s2.replace(/-/g, '/'));
var ms = Math.abs(s1.getTime() - s2.getTime());
return ms / 1000 / 60 / 60;
}
alert( getHour('2017-8-23 12:05:05', '2017-8-25 10:05:05'))
function DateDiff(sDate1, sDate2) {
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split(":")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
aDate = sDate2.split(":")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iHour = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60)
return iHour
}
var now=(new Date().getTime()/3600000+8)%24;
想到了一个写法,计算日期的小时数,得到的就是去掉日期之后的时间,然后可以直接加减了