1. 程式人生 > >web前端複習(二):js日期操作,實現時間顯示和倒計時效果

web前端複習(二):js日期操作,實現時間顯示和倒計時效果

雖然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;
    }