一、 日期物件Date:所謂日期物件,就是記載著日期資訊的一個物件。物件中包含年、月、日、時、分、秒、星期…這些日期或時間的資訊,稱為日期物件的資料成員。
常用於網頁中,即時取得瀏覽器端目前的時間,以便做後續的互動。
1. 宣告日期物件:
(1) 可使用 var 物件名稱 = new Date(); 來宣告日期物件,此日期物件的時間即等於此行程式碼所執行當下的時間。時區以當地為主。
(2) 若要為日期物件設定初始值,可使用:
var 物件名稱 = new Date(“ 年/月/日 時:分:秒”); 來一次指定完整的時間資訊,或是:
var 物件名稱 = new Date(“ 年/月/日”); 來指定日期,時間部分沒有指定,預設為0時0分0秒。例如:
var tt=new Date("2003/2/4 15:02:41"); 或是 var tt=new Date("2003/2/4");
註:年號是以西元年為主。
2. 利用成員函式讀取日期物件的資料成員:成員函式與說明如下(成員函式之回傳資料形態皆為整數):
getYear()、getFullYear():回傳日期物件的年份資訊(以當地時間為主)。其值為四位數西元年。
getMonth():回傳日期物件的月份資訊(以當地時間為主)。其值範圍為0~11(一月為0,二月為1…以此類推)。
getDay():回傳日期物件的星期號(以當地時間為主)。其值範圍為0~6(星期日為0,星期一為1…)
getDate():回傳日期物件的日期資訊(以當地時間為主)。其值範圍為0~31。
getHours():回傳日期物件的小時(以當地時間為主)。其值範圍為0~23。
getMinutes():回傳日期物件的分鐘(以當地時間為主)。其值範圍為0~59。
getSeconds():回傳日期物件的秒數(以當地時間為主)。其值範圍為0~59。
getMilliseconds():回傳日期物件的毫秒數(以當地時間為主)。其值範圍為0~999
間註:UTC時間,是以原子鐘為基礎的世界標準時間,較為精準。不過和當地時間會有時差問題。要取得日期物件的UTC時間資訊,上述成員函式之get一律改成getUTC即可。如:
getUTCHours():回傳日期物件的小時(UTC時間)。其值範圍為0~23。
其他內建函式:
getTime():回傳日期物件之時間距離1970/1/1 00:00:00(格林威治時間的初始時間)的毫秒數。
getTimezoneOffset():回傳本地時間與格林威治標準時間(Greenwich Mean Time, GMT)的時差。單位為分鐘。
註:台灣地區與格林威治標準時間的時差為8小時。
3. 利用成員函式設定日期物件的資料成員:成員函式與說明如下(成員函式之輸入參數的資料形態皆為整數):
setYear(輸入參數)、setFullYear(輸入參數):設定日期物件的年份資訊(以當地時間為主)。輸入參數為四位數西元年。
setMonth(輸入參數):設定日期物件的月份資訊(以當地時間為主)。輸入參數範圍為0~11(一月為0,二月為1…以此類推)。
setDate(輸入參數):設定日期物件的日期資訊(以當地時間為主)。輸入參數範圍為0~31。
setHours(輸入參數):設定日期物件的小時(以當地時間為主)。輸入參數範圍為0~23。
setMinutes(輸入參數):設定日期物件的分鐘(以當地時間為主)。輸入參數範圍為0~59。
setSeconds(輸入參數):設定日期物件的秒數(以當地時間為主)。輸入參數範圍為0~59。
setMilliseconds(輸入參數):設定日期物件的毫秒數(以當地時間為主)。輸入參數範圍為0~999
間註:UTC時間,是以原子鐘為基礎的世界標準時間,較為精準。不過和當地時間會有時差問題。要以UTC時間設定日期物件的時間資訊,上述成員函式之set一律改成setUTC即可。如:
setUTCHours(輸入參數):設定日期物件的小時(UTC時間)。輸入參數範圍為0~23。
其他內建函式:
setTime(輸入參數):設定距離1970/1/1 00:00:00(格林威治時間的初始時間)往後算起,輸入參數個毫秒數之後的時間。
※ 重要:javascript中,並不能直接對時間進行四則運算。若要進行四則運算,其模式如:
var tt=new Date();
tt.setTime(tt.getTime()+100*1000); //利用setTime(輸入參數)和getTime(),要注意:setTime()中的數字其單位是毫秒,乘以1000,只是為了方便用秒來計算而已。
4. 輸出時間:
利用2. 的成員函式輸出時間物件的資訊是很麻煩的。可將時間物件轉換為相對應的字串,再以字串方式顯示。可用的成員函式說明如下:
※ toString():將時間物件轉換為相對應的字串。如:
var tt=new Date("2003/12/14 15:02:42");
document.write(tt.toString()); //顯示:
※ toLocaleString():時間物件轉換為相對應的字串,以當地的語言形式表示。如:
var tt=new Date("2003/12/14 15:02:42");
document.write(tt.toLocaleString()); //顯示:
※ toGMTString():時間物件轉換為相對應的字串,以CMT標準時間形式表示。故有時差問題。如:
var tt=new Date("2003/12/14 15:02:42");
document.write(tt.toUTCString()); //顯示:
- toUTCString():和toGMTString()一樣。