JavaScript Date对象是处理时间的核心,需注意本地/UTC方法区别、月份从0开始、字符串解析兼容性及时间戳计算优先等关键细节。
JavaScript 中的 Date 对象是处理时间的核心工具,掌握它的常用方法能快速完成日期获取、格式化、计算和比较等任务。关键在于理解哪些方法返回本地时间、哪些返回 UTC 时间,以及哪些会修改原对象、哪些只读取。
有多种方式创建日期实例:
YYYY-MM-DD,兼容性更好)这些方法返回数字,基于本地时区:
如果需要 UTC 时间,把方法名中的 get 换成 getUTC,例如 getUTCFullYear()。
对应获取方法,都有可写版本:
用时间戳重置整个日期⚠️ 注意:setMonth() 和 setDate() 超出范围时会自动进位。例如 new Date(2025, 0, 32).getDate() 返回 1(即 2025-02-01)。
原生方法有限,但够日常用:
date.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' }) → "2025-05-20""2025-05-20T00:00:00.000Z",适合 API 传输toISOString()
避免用 toLocaleString() 做固定格式,它依赖用户系统设置;需要稳定输出建议手动拼接或用 toISOString().slice(0,10) 取日期部分。
基本上就这些。Date 对象本身不复杂,但细节(比如月份从 0 开始、字符串解析差异、本地 vs UTC)容易忽略,实际开发中建议优先用时间戳做计算,用 toISOString() 或 toLocaleDateString() 控制输出。