轉生第二十一日,這一篇將會來介紹時間。
時間是我們在開發系統時最常見的一個功能,當然 JavaScript 也有提供時間的語法,那麼該如何使用呢?這一篇來簡單介紹一下取得時間吧。
當我們要透過 JavaScript 中取得時間就必須使用 Date()
的語法,但是還使用 new
建構子來建構日期的方法,所以撰寫方式會是這樣子 ↓
那麼我們就可以透過 date
來取得各種時間,格式大多都是這樣撰寫,這邊先以取得當前年份示範 ↓
GMT 是格林威治標準時間的意思,所以當你直接輸入 console.log(date)
就會出現格林威治標準時間 ↓
另外也有另一種 GMT 取得的寫法:
new Date().toGMTString()
取得年的方式是 getFullYear()
↓
取得月份的方式是 getMonth()
↓
但是這邊要注意一件事情,getMonth()
從 0 開始計算,所以實際應用時請記得 +1
。
取得日期的方式是 getDay()
↓
日期也一樣要注意getDay()
是從 0 開始計算,所以實際應用時請記得 +1
。
取得小時的方式是 getHours()
↓
取得分鐘的方式是 getMinutes()
↓
取得秒數的方式是 getSeconds()
↓
取得毫秒的方式是 getMilliseconds()
↓
毫秒的單位是每 1000 秒 = 1 秒。
時間戳則是使用 getTime()
↓
一般來講實際開發時,很常見於使用時間戳來繼續資料新增的時間與修改時間。
那如果我們要將以上方式組合成一個日期,只需要將個別取出來的時間儲存到一個變數內再組合即可:
var time = new Date();
var year = time.getFullYear();
var month = time.getMonth() + 1;
var day = time.getDay() +1 ;
var hours = time.getHours();
var minutes = time.getMinutes();
var sec = time.getSeconds();
var millSec = time.getMilliseconds();
var fullTime = '現在日期與時間:' + year + '/' + month + '/' + day + ' ' + hours + ':' + minutes + ':' + sec + ':' + millSec;
最後我這邊也附上前陣子我使用的另一種時間撰寫方式,假使我想要取得從今天開始往後算三個月的日期,那就會使用到 setMonth
,注意是 SET
開頭而不是 GET
開頭
var date = new Date();
// 設置月份,依照目前月份 + 3 個月
date.setMonth(date.getMonth() + 3);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate() - 1;
// 若三個月後時間大於 12,年就 +1
if (month > 12) {
year++;
month -= 12;
}
// 若月份是 1~9 就補 0
if (month < 10) {
month = `0${month}`;
}
//若日期是 1 ~ 9 那就補 0
if (day < 10) {
day = `0${day}`;
}
var getTreeToday = `${year}-${month}-${day}`;
所以說如果你要設置時間,那麼就可以改用 set
開頭的語法唷~
下一篇的 RE:從零開始的學習 JS 生活-第二十二日 將會介紹 函式、執行環境與變數環境還有範圍鏈。
本文同步發表於:https://hsiangfeng.github.io/javascript/20191006/2165491615/
// 若月份是 1~9 就補 0
if (month < 10) {
month = `0${day}`;
}
//若日期是 1 ~ 9 那就補 0
if (day < 10) {
day = 0${month};```
這段寫錯了吧?
沒有錯唷~我寫錯哩XD
感謝提醒已修正