按照你的要求编写的计算时间差的Javascript程序如下(注意 date是随意写的正确的日期字符串,只是为了函数Date.parse()的需要)
<script type=text/javascript>var date="2018/07/17"
var time1 = Date.parse(date+" "+"2:32:39")
var time2 = Date.parse(date+" "+"14:12:09")
var time3=time2-time1
var hour=Math.floor(time3/1000/60/60)
var minute=Math.floor(time3/1000/60-hour*60)
var second=time3/1000-hour*60*60-minute*60
alert("时间差为"+hour+"小时"+minute+"分"+second+"秒")
</script>
运行结果
时间差为11小时39分30秒
要下班了没时间了,这两个函数能帮到你第一个把时间转换为整数,这样你就能去计算了,第二个把数字转换成时间,你可以用来显示了
function getIntFromTime(time) {
time = time.split(':')
return parseInt(time[0], 10) * 60 * 60 + parseInt(time[1], 10) * 60 + parseInt(time[2], 10)
}
function getTimeFromInt(value) {
var h = Math.floor(value / 60 / 60)
var m = value % (60*60)
var s = value % (60)
if (h.toString().length <2) h = '0' + h.toString()
if (m.toString().length <2) m = '0' + m.toString()
if(s.toString().length <2) s = '0' + s.toString()
return h + ':' + m + ':' + s
}
function showTime() {var now = new Date()
var nowTime = now.toLocaleString()
var date = nowTime.substring(0,10)//截取日期
var time = nowTime.substring(10,20) //截取时间
var week = now.getDay() //星期
var hour = now.getHours() //小时
//判断星期几
var weeks = ["日","一","二","三","四","五","六"]
var getWeek = "星期" + weeks[week]
var sc
//判断是AM or PM
if(hour >= 0 && hour < 5){
sc = '凌晨'
}
else if(hour > 5 && hour <= 7){
sc = '早上'
}
else if(hour > 7 && hour <= 11){
sc = '上午'
}
else if(hour > 11 && hour <= 13){
sc = '中午'
}
else if(hour> 13 && hour <= 18){
sc = '下午'
}
else if(hour > 18 && hour <= 23){
sc = '晚上'
}
document.getElementById('time').innerHTML ="当前时间:" + date+" " + getWeek +"&nbsp"+" "+sc+" "+time
setTimeout('showTime()',1000)
}
</script>
调用方法:
<body onload="showTime()">
<div id="time"></div>
</body>
2.简洁的办法: 显示格式: 当前时间: 2010年6月1日 10:00:00 星期一
<htmtl>
<head></head>
<body>
<div id="linkweb" style=" display:inline"></div>
<script>
setInterval("document.getElementById('linkweb').innerHTML=new Date ().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay ())",1000)
</script>
</body>
</html>