JavaScript 日期格式
JavaScript 日期輸入
通常有 3 種 JavaScript 日期輸入格式
型別 | 示例 |
---|---|
ISO 日期 | "2015-03-25" (國際標準) |
短日期 | "03/25/2015" |
長日期 | "Mar 25 2015" 或 "25 Mar 2015" |
ISO 格式在 JavaScript 中遵循嚴格的標準。
其他格式的定義不太明確,可能因瀏覽器而異。
JavaScript 日期輸出
無論輸入格式如何,JavaScript(預設情況下)將以完整的文字字串格式輸出日期
JavaScript ISO 日期
ISO 8601 是國際標準的日期和時間表示法。
ISO 8601 語法 (YYYY-MM-DD) 也是首選的 JavaScript 日期格式
計算出的日期將相對於您的時區。
根據您的時區,上述結果將在 3 月 24 日至 3 月 25 日之間變化。
ISO 日期 (年和月)
ISO 日期可以不指定日期 (YYYY-MM)
時區將導致上述結果在 2 月 28 日至 3 月 01 日之間變化。
ISO 日期 (僅年)
ISO 日期可以不指定月份和日期 (YYYY)
時區將導致上述結果在 2014 年 12 月 31 日至 2015 年 01 月 01 日之間變化。
ISO 日期 (日期-時間)
ISO 日期可以包含小時、分鐘和秒 (YYYY-MM-DDTHH:MM:SSZ)
日期和時間之間用大寫 T 分隔。
UTC 時間用大寫 Z 定義。
如果要修改相對於 UTC 的時間,請刪除 Z 並新增 +HH:MM 或 -HH:MM
UTC (協調世界時) 與 GMT (格林威治標準時間) 相同。
省略日期-時間字串中的 T 或 Z 可能在不同瀏覽器中產生不同的結果。
時區
設定日期時,如果不指定時區,JavaScript 將使用瀏覽器的時區。
獲取日期時,如果不指定時區,結果將被轉換為瀏覽器的時區。
換句話說:如果一個日期/時間是以 GMT (格林威治標準時間) 建立的,那麼當用戶從美國中部瀏覽時,該日期/時間將被轉換為 CDT (美國中部夏令時)。
JavaScript 簡短日期。
簡短日期使用 "MM/DD/YYYY" 格式,如下所示
警告!
在某些瀏覽器中,沒有前導零的月份或日期可能會導致錯誤
const d = new Date("2015-3-25");
"YYYY/MM/DD" 的行為未定義。
有些瀏覽器會嘗試猜測格式。有些會返回 NaN。
const d = new Date("2015/03/25");
"DD-MM-YYYY" 的行為也未定義。
有些瀏覽器會嘗試猜測格式。有些會返回 NaN。
const d = new Date("25-03-2015");
JavaScript 長日期。
長日期最常使用 "MMM DD YYYY" 格式,如下所示
月份和日期可以按任何順序排列
月份可以寫全稱 (January) 或縮寫 (Jan)
逗號將被忽略。名稱不區分大小寫
日期輸入 - 解析日期
如果你有一個有效的日期字串,可以使用 Date.parse()
方法將其轉換為毫秒。
Date.parse()
返回日期和 1970 年 1 月 1 日之間的毫秒數
然後你可以使用毫秒數來轉換為日期物件