在javascript中,沒有日期資料型態,但是它有提供 Date() 物件,使用內件的日期物件與方法、可以取得與操作日期時間。
日期物件有多種的方法來設定及取得。使用時有可能會因為瀏覽器或作業系統之不同,而顯示出不同的結果。
因為它不是瀏覽器必然存在的物件,所以用 new 來產生它。不使用 new 不會產生物件實體;
參數會被忽略一律傳回目前時間的字串。
new Date()
用於處理日期和時間、如果沒有指定參數,物件預設值為產生物件的日期與本地時間。
而本地時間是指執行 JavaScript new Date() 的用戶電腦時間。* Chrome 多了(台北標準時間)
文法:
Tue Oct 08 2013 11:53:06 GMT+0800 (中国标准时间)
結果:
Tue Oct 08 2013 11:53:06 GMT+0800 (中国标准时间)
new Date(日期時間字串)
指定參數,日期時間字串則傳回參數的日期。
文法:
Sat Jun 30 2012 10:30:12 GMT+0800 (中国标准时间)
結果:
Sat Jun 30 2012 10:30:12 GMT+0800 (中国标准时间)
new Date(年, 月, 日 [, 時, 分, 秒, 毫秒])
時, 分, 秒, 毫秒為選擇性的參數,沒有設定時以零取代,與上例比較月份是由零開始所以是 5。
如果參數值超過預定值時,會取超過值並進位上一位時間值。
文法:
Sat Jun 30 2012 10:30:12 GMT+0800 (中国标准时间)
結果:
Sat Jun 30 2012 10:30:12 GMT+0800 (中国标准时间)
計算兩個時間差:(Difference between dates in JavaScript)
14
結果:(1000 * 60 * 60 * 24) 將毫秒計算成天數 86400000
14
实例分享。
dt=new Date();
將當時的日期指定到 dt 物件變數。
日期 get 方法
getYear()* 取得年份
結果:dt.getYear(); // 使用 getFullYear(); 方法、採用四位數西歷年才正確。
113
getFullYear() 取得年份
結果:dt.getFullYear();
2013
getMonth() 取得月份 {一月 = 0, 二月 = 1, 三月 = 2,..十一月 = 10, 十二月 = 11}
結果:dt.getMonth();
9
建立一個 month 陣列物件用來存放相對映於索引編號的月份名稱。
結果:
本月份 = 十月
getDate() 取得日(天) 1~31
結果:dt.getDate();
8
getDay() 取得星期 {星期日 = 0, 星期一 = 1, 星期二 = 2,..星期五 = 5, 星期六 = 6}
結果:dt.getDay();
2
時間 get 方法
getHours() 取得時數 0~23
結果:dt.getHours(); 台北標準時間+8
11
getUTCHours() 取得(國際標準時間)時數 0~23
結果:dt.getUTCHours(); // UTC 表示 Coordinated Universal Time 國際標準時間
3
getMinutes() 取得分鐘 0~59
結果:dt.getMinutes();
53
getSeconds() 取得秒數 0~59
結果:dt.getSeconds();
6
getMilliseconds() 取得毫秒數 0~999
結果:dt.getMilliseconds();
253
getTime() 取得時間 (由 1970年1月1日零時零分計起到目前時間) 單位:(毫秒)
結果:dt.getTime();
1381204386253
getTimezoneOffset() 取得 GMT 減去本地時間的值 單位:(分鐘)
結果:dt.getTimezoneOffset(); // 數值會受日光節約時間之影響。
-480
例子:
日期 set 方法
setFullYear() 設置年份 (四位數字)
結果:dt.setFullYear(2008); document.write(dt.getFullYear());
2008
setMonth() 設置月份 0~11
結果:dt.setMonth(5); document.write(dt.getMonth());
5
setDate() 設置日(天) 1~31
結果:dt.setDate(3); document.write(dt.getDate());
3
時間 set 方法
setHours() 設置時數 0~23
結果:dt.setHours(10); document.write(dt.getHours());
10
setMinutes() 設置分鐘 0~59
結果:dt.setMinutes(30); document.write(dt.getMinutes());
30
setSeconds() 設置秒數 0~59
結果:dt.setSeconds(12); document.write(dt.getSeconds());
12
setMilliseconds() 設置毫秒數 0~999
結果:dt.setMilliseconds(280); document.write(dt.getMilliseconds());
280