在前端开发中,我们常常需要对日期进行格式化和显示。JavaScript 提供了丰富的 API 来处理日期对象,并可以将其格式化为符合需求的字符串。
创建日期对象
在 JavaScript 中,可以使用 new Date()
来创建一个日期对象。如果不传入参数,则表示当前时间;否则,可以传入一个表示时间的字符串或者数字(以毫秒为单位)来创建日期对象。
const now = new Date(); // 当前时间 const date1 = new Date("2023-04-07"); // 时间字符串 const date2 = new Date(1652016000000); // 毫秒数
格式化日期
JavaScript 提供了多种方式来格式化日期,其中最常用的是使用 toLocaleString()
方法。
const date = new Date(); const options = { weekday: "long", year: "numeric", month: "long", day: "numeric", }; console.log(date.toLocaleString("zh-CN", options)); // 输出:星期四, 2023年4月7日
toLocaleString()
方法接受两个参数:地区和选项。地区指定了日期的语言和国家/地区,选项指定了日期的格式。上述代码中,我们将地区设置为中国大陆(zh-CN
),选项设置为包含星期、年、月、日的长格式字符串。
除了 toLocaleString()
方法外,JavaScript 还提供了其他几种方法来格式化日期:
toDateString()
:返回日期的日期部分(年、月、日)的字符串表示。toTimeString()
:返回日期的时间部分(时、分、秒)的字符串表示。toISOString()
:返回 ISO 格式的日期字符串,格式为 "YYYY-MM-DDTHH:mm:ss.sssZ"。toUTCString()
:返回 UTC 时间的字符串表示。
操作日期
JavaScript 提供了多种方法来操作日期对象,包括获取、设置、增加和减少日期。
获取日期值
可以使用以下方法来获取日期对象的各个部分的值:
getFullYear()
:获取年份(4 位数字)。getMonth()
:获取月份(0 表示一月,11 表示十二月)。getDate()
:获取日期(1 到 31)。getDay()
:获取星期几(0 表示星期日,6 表示星期六)。getHours()
:获取小时数(0 到 23)。getMinutes()
:获取分钟数(0 到 59)。getSeconds()
:获取秒数(0 到 59)。getMilliseconds()
:获取毫秒数(0 到 999)。
-- -------------------- ---- ------- ----- ---- - --- ---------------------------- -------------------------------- -- ------- ----------------------------- -- ---- ---------------------------- -- ---- --------------------------- -- ---- ----------------------------- -- ----- ------------------------------- -- ----- ------------------------------- -- ---- ------------------------------------ -- ----
设置日期值
可以使用以下方法来设置日期对象的各个部分的值:
setFullYear(year)
:设置年份。setMonth(month, day)
:设置月份和日期,其中day
可选,默认为当前日期。setDate(day)
:设置日期。setHours(hour, min, sec, ms)
:设置小时数、分钟数、秒数、毫秒数。setMinutes(min, sec, ms)
:设置分钟数、秒数、毫秒数。setSeconds(sec, ms)
:设置秒数、毫秒数。setMilliseconds(ms)
:设置毫秒数。
-- -------------------- ---- ------- ----- ---- - --- ---------------------------- ----------------------- ---------------- --- ----------------- ------------------ -------------------- -------------------- -------------------------- ------- - ---------------------------------------------------------- -------- --------------------------------------------------------------------------------