Date 是 JavaScript 内置构造函数,基于 Unix 时间戳创建和操作日期时间;支持无参、字符串、时间戳、多参数四种初始化方式;提供 getXXX()/setXXX() 方法读写本地/UTC 时间字段;格式化可用 toISOString()、toLocaleString() 等方法,复杂场景推荐 Intl 或 dayjs。

Date 是 JavaScript 中内置的构造函数,用于创建、读取、修改和格式化日期与时间。它基于 Unix 时间戳(从 1970 年 1 月 1 日 00:00:00 UTC 开始的毫秒数),所有操作都围绕这个数值展开。
如何创建 Date 对象
有多种方式初始化一个日期:
-
不传参:创建当前系统时间,
new Date() -
传字符串:如
new Date("2024-06-15")或new Date("June 15, 2024 14:30")(注意解析依赖环境,推荐 ISO 格式) -
传数字(时间戳):如
new Date(1718438400000) -
传年、月、日等参数:如
new Date(2024, 5, 15, 14, 30, 0)(注意:月份从 0 开始,5 表示六月)
如何获取日期和时间的各个部分
Date 提供一系列 getXXX() 方法读取本地时区值:
-
getFullYear():四位年份(如 2024) -
getMonth():月份(0–11),需加 1 才是常规月份 -
getDate():当月第几天(1–31) -
getHours()、getMinutes()、getSeconds()、getMilliseconds() -
getDay():星期几(0 表示周日,1 表示周一) - 若需 UTC 时间,用
getUTCFullYear()等对应方法
如何修改日期和时间
用 setXXX() 方法可直接更改对应字段:
立即学习“Java免费学习笔记(深入)”;
-
setDate(25):把当天设为当月 25 日(自动处理跨月) -
setMonth(11):设为 12 月(注意从 0 计数) -
setFullYear(2025, 0, 1):同时设年、月、日(月仍从 0 开始) -
setTime(1718438400000):直接设置时间戳,最精确也最常用
注意:所有 set 方法都会改变原 Date 对象,返回的是时间戳数值,不是新对象。
如何格式化输出和时区处理
浏览器默认提供几个简单格式化方法,但兼容性和可控性有限:
-
toString():本地时区字符串(含时区缩写,如 "GMT+0800") -
toUTCString():UTC 时间字符串 -
toISOString():严格 ISO 8601 格式(如"2024-06-15T06:30:00.000Z"),适合 API 传输 -
toLocaleDateString()和toLocaleTimeString():按用户本地语言/地区格式化,支持options参数控制(如 weekday、year、month 等)
跨时区计算建议统一用 UTC 方法或借助 getTimezoneOffset() 手动换算;生产环境复杂场景推荐使用 Intl.DateTimeFormat 或成熟库如 dayjs、date-fns。











