JavaScript Date对象用于处理日期时间,支持创建、获取、设置、格式化和计算;需注意月份索引为0–11、字符串解析应使用标准格式、toISOString()适合API通信、toLocaleString()适合界面展示。
JavaScript 的 Date 对象是处理日期和时间的核心工具,它能获取、设置、格式化和计算时间。掌握常用方法,就能轻松应对日常开发中的时间需求,比如显示“刚刚”“3小时前”,计算两个日期间隔,或生成带时区的 ISO 字符串。
有多种方式创建一个日期实例:
new Date()
new Date('2025-05-20') 或 new Date('May 20, 2025 14:30:00')(注意月份从 0 开始)new Date(2025, 4, 20, 14, 30, 0)(4 表示五月)new Date(1716215400000)
⚠️ 注意:解析字符串时尽量用标准格式(如 '2025-05-20'),避免依赖浏览器差异;月份参数是 0~11,不是 1~12。
这些方法返回对应部分的数值,都基于本地时区:
getFullYear():四位年份(如 2025)getMonth():月份(0~11)getDate():当月第几天(1~31)getDay():星期几(0=周日,1=周一……)getHours()、getMinutes()、getSeconds()、getMilliseconds()
getTime():返回自 1970-01-01 00:00:00 UTC 起的毫秒数(时间戳)如果需要 UTC 时间,把方法名中的 get 换成 getUTC 即可,例如 getUTCHours()。
对应获取方法,也有 set 系列方法来修改日期对象内部值:
s
etFullYear(2025)、setMonth(11)(设为十二月)、setDate(25)
setHours(9, 30, 0) 可同时设时分秒setTime(1716215400000) 直接用时间戳重置整个日期所有 set 方法都会**改变原 Date 对象**(不是返回新对象),适合做日期加减运算,比如:let d = new Date(); d.setDate(d.getDate() + 7); // 加7天
快速转成常见字符串格式,适合展示或传输:
toString():本地时区完整字符串(含时区缩写)toDateString():只含日期部分,如 "Mon May 20 2025"
toTimeString():只含时间部分toISOString():返回标准 ISO 8601 格式(UTC 时间),如 "2025-05-20T06:30:00.000Z"
toLocaleString():按本地语言/地区格式化(可传 locale 和 options 参数定制)推荐在 API 通信中优先使用 toISOString(),避免时区歧义;用户界面展示用 toLocaleString() 更友好。
基本上就这些。Date 对象本身不复杂,但容易忽略时区和月份索引这些细节。熟练搭配 get/set 和格式化方法,就能稳稳搞定大多数时间处理场景。