web前端複習(二):js日期操作,實現時間顯示和倒計時效果
阿新 • • 發佈:2019-01-07
雖然jquery框架的封裝使得幾行程式碼就可以完成js的複雜功能的實現,但是jquery併為日期定製操作,所以日期的操作還是得使用js原生實現
下面我們就來簡單實現js日期操作,程式碼如下:
<!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>js日期操作</title>
</head>
<script src="jquery-1.12.4.min.js"></script>
<script>
function checkTime(time){//校驗時間,小於10前面加0
if(time<10)return "0"+time;
return time;
}
function checkHour(hour){//12小時制
if(hour>12)return "下午 "+(hour-12);
return "上午 "+hour;
}
function showTime(){
var date=new Date();
var weekDay=["星期日","星期一","星期二","星期三","星期日四","星期五","星期六"];
$("#time").html(date.getFullYear()+"年 " +checkTime(date.getMonth()+1)+"月"+checkTime(date.getDate())+"日 "+weekDay[date.getDay()]+"<br/>"+checkHour(date.getHours())+"時" +checkTime(date.getMinutes())+"分"+checkTime(date.getSeconds())+"秒"
);
setTimeout('showTime()',500);
}
function countDown(end){//傳入終止時間
//獲取當前時間和截止時間的毫秒值
var endTime=new Date(end).getTime();
var nowTime=new Date().getTime();
//計算時間差秒數
var countTime=(endTime-nowTime)/1000;
//計算時間差天數
var day=parseInt(countTime/(60*60*24));
//計算時間差小時數
var hour=parseInt(countTime/(60*60)%24);
var minutes=parseInt(countTime/60%60);
var seconds=parseInt(countTime%60)
if(countTime<=0)$('#countDown').html("倒計時結束");
$('#countDown').html("倒計時:"+checkTime(day)+"天 "+checkTime(hour)+"小時 "+checkTime(minutes)+"分鐘 "+checkTime(seconds)+" 秒");
//alert("倒計時:"+checktime(day)+"天 "+checkTime(hour)+"小時 "+checkTime(minutes)+"分鐘 "+checkTime(seconds)+" 秒")
setTimeout("countDown('2016/07/01,12:00:00')",500);
}
</script>
<body onload="countDown('2016/07/01,12:00:00'),showTime()">
顯示時間實現
<p style="color:red;display:block;font-size:1.2em;text-align:center;height:25px;line-height:25px;" id="time"></p>
<hr />
<p style="color:red;display:block;font-size:1.2em;text-align:center;height:25px;line-height:25px;" id="countDown"></p>
</body>
</html>
思想:總的來說就是js中的Date物件的操作:
**獲取年的資訊:getFullYear,getYear
獲取月:getMonth,注意從0開始,要加一
獲取天:getDate
獲取小時:getHour
獲取分鐘:getMinutes
獲取秒:getSeconds
獲取時間毫秒數:getTime**
注意要點:就是小時,分鐘,天數,月數小於標準格式為兩位,還有就是12小時制或者24小時制的問題,簡單實現:如下
function checkTime(time){//校驗時間,小於10前面加0
if(time<10)return "0"+time;
return time;
}
function checkHour(hour){//12小時制
if(hour>12)return "下午 "+(hour-12);
return "上午 "+hour;
}