在前端开发中,经常需要将日期和时间以特定的格式进行展示。Javascript 提供了多种日期/时间格式化方法,本篇文章将介绍这些方法的用法和注意事项。
Date 对象
在 Javascript 中,可以使用 Date
对象来表示日期和时间。创建一个 Date
对象,一般有以下几种方式:
-- -------------------- ---- ------- -- ------- ---- -- ----- --- - --- ------- -- -------------- ---- -- ----- --------- - -------------- -- -- --- -- ------------------------ ----- ---- - --- ---------------- -- ------------ ---- -- ----- ---- - ----- ----- ----- - -- -- - -- - --- -- - - ----- --- - -- ----- ---- - -- -- -------- ----- ------ - --- ----- ------ - -- ----- ----------- - -- ----- ---------- - --- ---------- ------ ---- ----- ------- ------- -------------
在以上代码中,第一种方式创建的 Date
对象表示当前时间(即代码执行时的时间)。第二种方式创建的 Date
对象表示指定的时间戳所代表的日期和时间。第三种方式创建的 Date
对象表示指定的年、月、日、小时、分钟、秒和毫秒所组成的日期和时间。
除此之外,Date
对象还提供了一些方法来获取和设置日期和时间的各个部分,例如:
-- -------------------- ---- ------- ----- ---- - --- ------- -- ---------- ----- ---- - ------------------- -- ---- ----- ----- - ---------------- -- ------ - -- ----- --- - --------------- -- - ----- ---- - ---------------- -- -------- ----- ------ - ------------------ -- - ----- ------ - ------------------ -- - ----- ----------- - ----------------------- -- - -- ---------- ----------------------- ----------------- -- ---- - - ---------------- ----------------- -------------------- -------------------- --------------------------
日期/时间格式化
在 Javascript 中,可以使用 Intl.DateTimeFormat
对象和 Date.prototype.toLocaleString
和 Date.prototype.toLocaleDateString
方法来进行日期/时间格式化。以下是它们的用法示例:
Intl.DateTimeFormat 对象
-- -------------------- ---- ------- ----- ---- - --- ------- -- ----------------------- ----- ---------- - --- ---------------------- ------------------------------------- -- ----------------------- - - - - - ------ ------- ----- ---------- - --- ---------------------------- - ----- ---------- ------ ------- ---- ---------- -------- ------- ----- ---------- ------- ---------- ------- ----- --- -------------------------------------
在以上代码中,Intl.DateTimeFormat
对象用于格式化日期和时间。第一个示例中,使用默认选项进行格式化,得到了一个类似 4/7/2023
的结果。第二个示例中,指定了语言为简体中文('zh-CN'
),并自定义了各个选项来得到一个类似 2023 年 4 月 7 日 星期五,上午 10:28
的结果。
Date.prototype.toLocaleString 和 Date.prototype.toLocaleDateString 方法
-- -------------------- ---- ------- ----- ---- - --- ------- -- ---------------------- -------- ---- ----------------------------------- -- ----------------------------- - ----------------------------------------------------------- -------- ----------------------------------------------------------------------------------