這篇文章帶給大家的內容是關於javascript中Date類別的詳解(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Date 是JS 中的重要的內建對象,其實例主要用於處理時間和日期,其時間基於1970-1-1 (世界標準時間)起的毫秒數,時間戳長度為13位元(不同於Unix 時間戳的長度10 位元)。對於日期和時間,我們有無數個使用場景,因此需要特別注意一些細節和約定。
透過new Date() 可以進行實例化,得到一個Date 物件實例,值得注意的是如果直接執行Date()
,將得到一個時間字串。
new Date(); new Date(value); new Date(dateString); new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
95712e0b0bc62c64b1fddfac486f9cb8
其中對建構子的參數說明(參考MDN ):
如果沒有輸入任何參數,則Date的建構器會依據系統設定的目前時間來建立一個Date物件。
如果提供了至少兩個參數,其餘的參數均會預設為1(如果沒有提供day參數)或0。
JavaScript的時間是由世界標準時間(UTC)1970年1月1日開始,用毫秒計時,一天由86,400,000毫秒組成。 Date物件的範圍是-100,000,000天至100,000,000天(等效的毫秒值)。
JavaScript的Date物件為跨平台提供了統一的行為。時間屬性可以在不同的系統中表示相同的時刻,而如果使用了本地時間對象,則反映當地的時間。
JavaScript 的Date物件提供了數個UTC時間的方法,也相應提供了當地時間的方法。 UTC,也就是我們所說的格林威治時間,指的是time中的世界時間標準。而當地時間則是指執行JavaScript的客戶端電腦所設定的時間。
以函數的形式來呼叫JavaScript的Date物件(i.e., 不使用 new 運算元)會傳回一個代表目前日期和時間的字串。
// 以chrome为例 new Date(); // Mon Oct 23 2017 23:38:02 GMT+0800 (CST) new Date(false); // Thu Jan 01 1970 08:00:00 GMT+0800 (CST) new Date(0); // Thu Jan 01 1970 08:00:00 GMT+0800 (CST) new Date(null); // Thu Jan 01 1970 08:00:00 GMT+0800 (CST) new Date(''); // Invalid Date new Date(undefined); // Invalid Date
[Firefox]
不支援帶'-' 的完整時間,例如new Date('2012-07-08 00:00:00') 為無效的值,而new Date('2012-07-08') 是正確的值。
[month]
new Date(year, month, ……) 中的month從0開始計算
不同執行環境下的邊界值有差異, Chrome 下甚至連負值都能支援。在實際生產環境中,不僅需要考慮時間的展示,還需要考慮其儲存、運算等,因此在特定的場景下,我們需要盡可能考慮到資料庫和瀏覽器中 Date 的有效範圍。
以資料庫Derby
儲存時間為例,其邊界為:
說明 | # 邊界值 |
---|---|
的最小日期 | 0001-01-01 |
最大的日期 | 9999-12-31 |
最小的時間 | 00:00:00 |
24:00:00 | |
#0001-01-01-00.00.00.000000 | |
9999-12-31-23.59.59.999999 |
以上是javascript中Date類別的詳解(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!