JS中的日期和時間詳解
關於Date()構造函數
Date()構造函數是javascript的核心語言部分,用來創建表示時間和日期的對象。這些日期對象的方法爲日期計算提供了簡單的API。日期對象不是數字那樣的基本類型。
簡單實例
下面列舉幾個簡單的實例來認識一下我們的這位新朋友:
var then = new Date(2019, 2 ,2); //2019年3月2日
var later = new Date(2019, 2 ,2, 17, 22, 24); //2019年3月2日5:22:24pm
var now = new Date(); //當前日期和時間
var elapsed = now - then; //日期減法:計算時間間隔的毫秒數
later.getFullYear() //=>2019
later.getMonth() //=>2:從0開始計數的月份
later.getDate() //=>2:從1開始計數的天數
later.getDay() //=>5:獲取星期幾,0代表星期日,1到6分別對應星期一到星期六
later.getHours() //=>17:獲取小時數
later.getMinutes() //=>22:獲取分鐘數
later.getSeconds() //=>24:獲取秒數
上邊的幾個實際應用體現出了我們的時間構造函數的強大之處,接下來我們就寫一個簡單的小功能,來實際演練一下。
用Date()構造函數創建時鐘
<div id="clock"></div>
<script>
//創建時間函數;
!(function clock(){
var now = new Date();
var Y = now.getFullYear();
var m = getRealTime(now.getMonth()+1);
var d = getRealTime(now.getDate());
var H = getRealTime(now.getHours());
var i = getRealTime(now.getMinutes());
var s = getRealTime(now.getSeconds());
var now_time = Y +'-'+ m +'-'+ d +' '+ H +':'+ i +':'+ s;
document.getElementById('clock').innerHTML = now_time;
//一秒鐘運行一次時間函數
setTimeout(clock,1000);
})();
//時間處理函數;
function getRealTime(str){
if(str < 10){
return '0'+str;
}
return str;
}
</script>
這樣我們就創建了一個簡單的時間計數器,還有更多好玩的功能,大家可以在實際生產中慢慢摸索,體驗js的魅力。