JavaScript 類型是在java.util.Date類的基礎上建立起來的。所以,Date類型使用的是UTC, 又稱世界統一時間,使用自1970年1月1日起經過的毫秒數來保存,可以精確到之後的285616年。
//創建一個日期對象
var date = new Date();
console.log(date); //FireFox: Wed Nov 07 2018 21:31:23 GMT+0800
//Chrome: Wed Nov 07 2018 21:31:23 GMT+0800 (中國標準時間)
//IE: Wed Nov 07 21:31:23 UTC+0800 2018
//Opera: Wed Nov 07 2018 21:31:23 GMT+0800
構造方法中可以傳遞參數,指定需要的時間,如果沒有傳參數,就默認使用當前的時間。調用Date構造方法不傳遞參數時,新實例化的對象自動獲取當前的日期時間,但是在不同的瀏覽器上顯示的結果是有區別的,如上所示。
ECMAScript 中有兩個方法,分別是 Date.parse() 和 Date.UTC(), 這兩個方法屬於靜態方法,不需要進行實例化。 Date.parse()方法接收一個日期格式的參數,並根據這個字符串返回相應的毫秒數。例如:
console.log(Date.parse("4/12/2007")); //返回一個毫秒數。毫秒數1176307200000, 各 個瀏覽器相同。
但是返回的這個值對於我們來說是不容易理解的,所以可以返回我們能夠看得懂的值。如下:
var date = new Date(Date.parse("4/12/2007"));
console.log(date); //Thu Apr 12 2007 00:00:00 GMT+0800
還可以這樣寫:
var date = new Date(1176307200000); //注意參數當中是數字
console.log(date); //Thu Apr 12 2007 00:00:00 GMT+0800
如果參數變成字符串數字,如下:
var date = new Date("1176307200000"); //注意參數當中是字符串
console.log(date); //Invalid Date
當然可以這樣寫,var date = new Date("4/12/2007"); console.log(date);
//Thu Apr 12 2007 00:00:00 GMT+0800, 默認後臺自動調用Date.parse() 方法。
關於更多日期和時間的用法,請關注下期的更新。
閱讀更多 WebEngineer 的文章
關鍵字: 數來 Chrome ECMAScript