日期物件是另一類 JavaScript 的內建物件,我們可用 new Date() 來產生一個日期物件,並用各種方法來取出此物件的相關資訊,如日期、時數、秒數等。例如:
上述範例的完整原始檔案如下:
在上例中,new Date() 即會產生包含現在日期的一個日期物件,常用的方法可以列表說明如下:
物件 | 方法 | 說明
|
---|
Date | toString() | 以標準字串來表示日期物件 |
toLocaleString() | 以地方字串(依作業系統而有所不同)來表示日期物件 |
getYear() | 取得西元年份(此方法已經過時,會依瀏覽器而有不同結果,建議不要使用) |
getFullYear() | 取得完整西元年份 |
getMonth() | 取得月份(需注意:0 代表一月,因此例如若是八月,結果就是 7) |
getDate() | 取得日數 |
getHours() | 取得時數 |
getMinutes() | 取得分鐘數 |
getSeconds() | 取得秒數 |
getDay() | 取得星期數(例如若是星期四,結果就是 4;若是星期日,結果就是 0) |
事實上有關日期物件的方法相當多,在下列範例中,我們使用 eval() 來簡化程式,並對這些方法進行較完整的列表:
上述範例的完整原始檔案如下:
在上述方法中,最常用到的就是 getTime(),此方法可以傳回來某個時間物件與 1970 年 1 月 1 日零時的時間差距,單位是 1/1000 秒。例如,我們可以使用這個方法,來寫出一個簡易的馬錶程式,如下:
當你按下「開始計時」後,程式碼內部立即開始計時,直到你按下「停時計時」時,就會在文字欄位顯示經過時間。上述範例的完整原始檔案如下:
在上述範例中,我們使用按鈕中的文字來代表系統狀態,在不同的狀態下,按下按鈕會有不同的反應,說明如下:
- 當按鈕文字是「開始計時」時,按下按鈕後,我們記錄目前時間(date1),設定時間顯示為「計時中...」,並將按鈕文字改為「停止計時」。
- 當按鈕文字是「停止計時」時,按下按鈕後,我們記錄目前時間(date2),並算出時間差距(timeDiff)並顯示在時間欄位內,同時將按鈕文字改為「歸零」。
- 當按鈕文字是「歸零」時,按下按鈕後,我時間欄位改為 00:00:00,同時將按鈕文字改為「開始計時」,以便進行下一次的計時工作。
上述流程,可用圖形顯示如下:
我們也可以產生一個日期物件後,再對此物件進行修改(例如改變秒數或月份)或格式轉換,相關的方法很多,包含 setDate、setFullYear、setHours、setMilliseconds、setMinutes、setMonth、setSeconds、setTime、setUTCDate、setUTCFullYear、setUTCHours、setUTCMilliseconds、setUTCMinutes、setUTCMonth、setUTCSeconds、setYear 等,在此不再贅述。
JavaScript 程式設計與應用:用於網頁用戶端