在網頁開發中,經常需要使用到時間,比如顯示文章發布時間、倒計時等。而Javascript提供了豐富的時間處理函數,可以方便地生成各種形式的時間。
首先,我們可以使用new Date()函數獲取當前時間:
var now = new Date(); console.log(now); //輸出:Mon Apr 12 2021 16:36:48 GMT+0800 (中國標準時間)
如果我們需要顯示當前時間的各個部分,可以使用Date的各個訪問器方法:
var now = new Date(); var year = now.getFullYear(); //年份 var month = now.getMonth() + 1; //月份 var date = now.getDate(); //日期 var hour = now.getHours(); //小時 var minute = now.getMinutes(); //分鐘 var second = now.getSeconds(); //秒鐘 console.log(year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second); //輸出:2021-4-12 16:36:48
我們還可以使用Date.parse()函數將一個字符串轉換成時間。這個函數可以識別絕大部分標準時間格式,比如:
var d1 = Date.parse("2021-04-12T16:36:48+0800"); //ISO格式 var d2 = Date.parse("2021/4/12 16:36:48"); //中文格式 console.log(new Date(d1)); console.log(new Date(d2)); //輸出:Mon Apr 12 2021 16:36:48 GMT+0800 (中國標準時間)
如果我們需要輸出距離某一個時間點的時間間隔,可以使用Date的getTime()和getTimezoneOffset()函數:
var start = new Date("2021-04-12 00:00:00"); var now = new Date(); var diff = now.getTime() - start.getTime(); //毫秒數 var diff_hour = diff / 1000 / 3600; var timezone_offset = now.getTimezoneOffset() / 60; //時區偏移 console.log("距離 " + start.toLocaleString() + " 已過去 " + diff_hour.toFixed(2) + " 小時,時區偏移為 " + timezone_offset + " 小時。"); //輸出:距離 2021/4/12 上午12:00:00 已過去 16.63 小時,時區偏移為 -8 小時。
最后,我們來看一個使用Javascript實現的時鐘效果:
var clock = document.getElementById("clock"); setInterval(function() { var now = new Date(); var h = now.getHours(); var m = now.getMinutes(); var s = now.getSeconds(); clock.innerText = h + ":" + m + ":" + s; }, 1000);
以上就是Javascript時間處理的一些例子,相信大家已經掌握了如何生成各種形式的時間,用好這些函數可以使網頁的交互性更強,用戶體驗更好。