87,984
社区成员
发帖
与我相关
我的任务
分享
规则说明 自动计算出来中间差值是几小时
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<link type="text/css" rel="stylesheet" href="My97DatePicker/skin/WdatePicker.css" />
<script type="text/javascript" src="jquery-1.7.2.min.js" ></script>
<script type="text/javascript" src="My97DatePicker/WdatePicker.js" ></script>
<script type="text/javascript" >
</script>
</head>
<body>
<input id="d4311" class="start" type="text" onFocus="WdatePicker({maxDate:'#F{$dp.$D(\'d4312\')||\'2020-10-01\'}'})"/> 至
<input id="d4312" class="end" type="text" onFocus="WdatePicker({minDate:'#F{$dp.$D(\'d4311\')}',maxDate:'2020-10-01'})"/>
共<span class="Time">1</span>小时
</body>
</html>
function formatDate(date, format) {
if (arguments.length < 2 && !date.getTime) {
format = date;
date = new Date();
}
typeof format != 'string' && (format = 'YYYY年MM月DD日 hh时mm分ss秒');
var week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', '日', '一', '二', '三', '四', '五', '六'];
return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function(a) {
switch (a) {
case "YYYY": return date.getFullYear();
case "YY": return (date.getFullYear()+"").slice(2);
case "MM": return date.getMonth()<9?'0'+(date.getMonth() + 1) : date.getMonth() + 1;
case "DD": return date.getDate();
case "hh": return date.getHours();
case "mm": return date.getMinutes();
case "ss": return date.getSeconds();
case "星期": return "星期" + week[date.getDay() + 7];
case "周": return "周" + week[date.getDay() + 7];
case "week": return week[date.getDay()];
case "www": return week[date.getDay()].slice(0,3);
}
});
}
var date = formatDate($('.end').val(),"YYYY-MM-DD hh:mm")
.getDate()-formatDate($('.start').val(),"YYYY-MM-DD hh:mm")
.getDate();//getDate()得到的是日期距离1970 年 1 月 1 日的毫秒数,所以date为间隔的毫秒数,下面就好些了,毫秒转换为小时,并最小单位是0.5小时
var hour = date/1000/3600%1>=0.5?parseInt(date/1000/3600)+1:(date/1000/3600%1==0
?date/1000/3600:parseInt(date/1000/3600)+0.5);//hour就是要得到的结果了