JavaScript-取得日期與時間

JavaScript Date() 日期與時間

JavaScript 沒有日期資料型態,但是它有提供 Date() 物件,使用內件的日期物件與方法、可以取得與操作日期時間。日期物件有多種的方法來設定及取得。使用時有可能會因為瀏覽器或作業系統之不同,而顯示出不同的結果。因為它不是瀏覽器必然存在的物件,所以用 new 來產生它。不使用 new 不會產生物件實體;參數會被忽略一律傳回目前時間的字串。

JavaScript 取得某月天數

日期中的日固定設為 0。例如 2014 的 2月份天數為。days 即是當月天數

var days = new Date(2014,2,0).getDate();
28

JavaScript 毫秒轉換成日期:Milliseconds to Date in JavaScript

var num = 1305856000000;
var dd = new Date(num);
document.write(dd.toString() + "<br />");
var months = "一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月".split(",");
var weekdays = "星期日,星期一,星期二,星期三,星期四,星期五,星期六".split(",");
document.write( months[dd.getMonth()] );
document.write( weekdays[dd.getDay()] );
Fri May 20 2011 09:46:40 GMT+0800 (台北標準時間)
months[dd.getMonth()] = 五月
weekdays[dd.getDay()] = 星期五

計算兩個時間差(天數) Difference between dates in JavaScript

var dt1 = new Date(2015, 8, 1);
var dt2 = new Date(2015, 8, 15);
document.write((dt2 - dt1) / (1000 * 60 * 60 * 24)); //將毫秒計算成天數 86400000
14
new Date()

用於處理日期和時間、如果沒有指定參數,物件預設值為產生物件的日期與本地時間。而本地時間是指執行 JavaScript new Date() 的用戶電腦時間。

var dt = new Date();
document.write(dt);
Mon Mar 12 2018 19:26:49 GMT+0800 (台北標準時間)
var dt = (+new Date()); //Date.now() milliseconds 微秒數
document.write(dt);
1520854009259

new Date(日期時間字串)

指定參數,日期時間字串則傳回參數的日期。

document.write(new Date("2015/6/30 10:30:12"));
Tue Jun 30 2015 10:30:12 GMT+0800 (台北標準時間)

new Date(年, 月, 日 [, 時, 分, 秒, 毫秒])

時, 分, 秒, 毫秒為選擇性的參數,沒有設定時以零取代,與上例比較月份是由零開始所以是 5。如果參數值超過預定值時,會取超過值並進位上一位時間值。

document.write(new Date(2015, 5, 30, 10, 30, 12));
Tue Jun 30 2015 10:30:12 GMT+0800 (台北標準時間)

日期 get 方法

將當時的日期指定到 dt 物件變數。

var dt = new Date();

getYear() 取得年份

document.write(dt.getYear()); //取得年份是錯誤的
118

getFullYear() 取得年份

結果:dt.getFullYear();

document.write(dt.getFullYear()); //採用四位數西歷年才正確
2018

getMonth() 取得月份、從 0 開始算起

取得月份 : 一月 = 0, 二月 = 1, 三月 = 2, 四月 = 3, 五月 = 4, 六月 = 5, 七月 = 6...十月 = 9, 十一月 = 10, 十二月 = 11

document.write(dt.getMonth());
2

建立一個 month 陣列物件用來存放相對映於索引編號的月份名稱。

var dt = new Date();
var month = new Array(12);
month[0] = "一月";
month[1] = "二月";
month[2] = "三月";
month[3] = "四月";
month[4] = "五月";
month[5] = "六月";
month[6] = "七月";
month[7] = "八月";
month[8] = "九月";
month[9] = "十月";
month[10] = "十一月";
month[11] = "十二月";
document.write("本月份 = " + month[dt.getMonth()]);
本月份 = 三月

getDate() 取得日(天) 1~31

document.write(dt.getDate());
12

getDay() 取得星期

星期日 = 0, 星期一 = 1, 星期二 = 2, 星期三 = 3, 星期四 = 4,星期五 = 5, 星期六 = 6

document.write(dt.getDay());
1

時間 get 方法

getHours() 取得時數 0~23 台北標準時間+8

document.write(dt.getHours());
19

getUTCHours() 取得(國際標準時間)時數 0~23

document.write(dt.getUTCHours()); //UTC 表示 Coordinated Universal Time 國際標準時間
11

getMinutes() 取得分鐘 0~59

document.write(dt.getMinutes());
26

getSeconds() 取得秒數 0~59

document.write(dt.getSeconds());
49

getMilliseconds() 取得毫秒數 0~999

document.write(dt.getMilliseconds());
266

getTime() 取得時間 (由 1970年1月1日零時零分計起到目前時間) 單位:(毫秒)

document.write(dt.getTime());
1520854009266

getTimezoneOffset() 取得 GMT 減去本地時間的值 單位:(分鐘)

document.write(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

文章來源
http://www.eion.com.tw/Blogger/?Pid=1148

No Comments Yet.

Leave a comment