JavaScript Date全解,JavaScriptDate
Date建構函式New Date() | Date()
沒有參數預設就是系統當前時區的時間,結果:
Sat Apr11 2015 16:42:09 GMT+0800 (China Standard Time)
產生代表當前系統的時間,不用new也可以產生,Date本身就是個方法。
New Date(milliseconds)
這個毫秒參數是從1970-01-01 00:00:00到現在所經過的時間。
New Date(datestring)
ECMA沒有規定,所以只列出目前支援的格式。
ISO格式時間
ISO格式的時間最顯著的特點是年月日之間使用連字號(-)分開,日期和時間可能有一個字母(T),時間後面可能有一個字母Z或時差。
T沒有意義,只是表示日期和時間是在這裡分割開的;Z表示這個時間是UTC時間。
類ISO格式 |
結果 |
2015-1 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-1-1 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-1 00:00:00+04:00 |
Thu Jan 01 2015 04:00:00 GMT+0800 (China Standard Time) |
2015-1-1 00:00:00+04:00 |
Thu Jan 01 2015 04:00:00 GMT+0800 (China Standard Time) |
2015-1-1 00:00:00Z+08:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-01-01 00:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-01-01 00:00:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-01-01 00:00:00+08:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015-01-01 00:00:00Z |
Thu Jan 01 2015 08:00:00 GMT+0800 (China Standard Time) |
2015-01-01 00:00:00Z+08:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
ISO標準格式 |
結果 |
2015-01 |
Thu Jan 01 2015 08:00:00 GMT+0800 (China Standard Time) |
2015-01-01 |
Thu Jan 01 2015 08:00:00 GMT+0800 (China Standard Time) |
2015-01-01T00:00:00 |
Thu Jan 01 2015 08:00:00 GMT+0800 (China Standard Time) |
2015-01-01T00:00:00Z |
Thu Jan 01 2015 08:00:00 GMT+0800 (China Standard Time) |
2015-01-01T00:00:00+08:00 |
Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
2015135 |
不支援 |
20150101 |
不支援 |
2015-W011 |
不支援 |
-2015-01-01 00:00:00 |
不支援公元前,返回的是 Thu Jan 01 2015 00:00:00 GMT+0800 (China Standard Time) |
規律總結:
- 帶時區的日期時間字串表示的是指定時區的時間。不帶時區的日期時間字串,則分兩種情況:類ISO結構的日期時間字串表示的是系統當前時區的時間,而ISO標準結構的日期時間字串表示的是格林尼治子午線的目前時間。
- Z或z的作用不僅僅是表示是UTC時間,Z同時說明這個日期時間字串表示的是0時差位移的時間,視同于格林尼治的子午線時間。但Z後可以繼續加時差,位移從0開始計算。
- 因為Date是在用戶端產生的,因此實際的Date已經換算成了本地系統的時間,使用的時候需要注意,日期時間字串變成Date對象之後,時間和日期的值可能和字串中的值是有時差的。
其它支援的格式
例子 |
結果 |
2015/01/02 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
2015/01/02 00:00:00 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
2015/01/02 00:00 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
2015/1/2 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
01/02/2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
1/2/2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
1/2 2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
01/02 2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) |
1 2 2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) IE5-10不支援這個日期格式 |
1 2,2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) IE5-10不支援這個日期格式 |
1,2,2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) IE5-10不支援這個日期格式 |
1,2 2015 |
Thu Jan 02 2015 00:00:00 GMT+0800 (China Standard Time) IE5-10不支援這個日期格式 |
May 1,2015 |
Fri May 01 2015 00:00:00 GMT+0800 (China Standard Time) |
May 1 2015 |
Fri May 01 2015 00:00:00 GMT+0800 (China Standard Time) |
May,1,2015 |
Fri May 01 2015 00:00:00 GMT+0800 (China Standard Time) |
May,1 2015 |
Fri May 01 2015 00:00:00 GMT+0800 (China Standard Time) |
各地日期表示格式