JavaScript Date对象可处理当前时间及任意时间点,支持创建、获取、设置、格式化等操作;需注意月份从0开始、时区影响及字符串解析兼容性。

JavaScript 用 Date 对象处理日期和时间,它既可以表示当前时间,也能解析、计算、格式化任意时间点。掌握核心方法就能应对大多数场景,不需要第三方库。
创建 Date 实例的几种常用方式
创建是第一步,不同写法对应不同需求:
-
new Date():获取当前系统时间(精确到毫秒)
-
new Date('2024-05-20') 或 new Date('May 20, 2024 14:30'):解析字符串(注意格式兼容性,推荐 ISO 格式
YYYY-MM-DDTHH:mm:ss)
-
new Date(2024, 4, 20, 14, 30, 0):传入年、月(0 起始,5 月要写 4)、日、时、分、秒(毫秒可选)
-
new Date(1716215400000):传入时间戳(毫秒数),常用于后端返回或存储
获取时间值的核心方法(get 开头)
这些方法返回数字,不修改原对象,适合提取信息:
-
getFullYear():四位年份(如 2024)
-
getMonth():月份(0–11,记得 +1 才是真实月份)
-
getDate():当月第几天(1–31)
-
getDay():星期几(0=周日,1=周一……)
-
getHours() / getMinutes() / getSeconds() / getMilliseconds():分别获取时、分、秒、毫秒
-
getTime():返回自 1970-01-01 00:00:00 UTC 起的毫秒数(即时间戳)
-
valueOf():等价于 getTime(),可用于比较大小
设置时间值的方法(set 开头)
这些方法会直接修改原 Date 对象,返回新时间戳:
立即学习“Java免费学习笔记(深入)”;
-
setFullYear(2025, 0, 1):设年、月(0起始)、日;参数可省略,只设年就写
setFullYear(2025)
-
setMonth(5):设月份(6月写 5),自动处理跨月(如 1 月 31 日设为 1 月 → 3 月 3 日)
-
setDate(15):设当月第几天,同样支持跨月计算
-
setHours(10, 30, 0, 0):设时、分、秒、毫秒(后三项可选)
-
setTime(1716215400000):用时间戳重置整个时间
格式化与转换的实用方法
面向用户显示时常用,多数返回字符串:
-
toString():本地时区的完整字符串(含星期、时区、年月日时分秒)
-
toDateString():只返回日期部分(如 "Mon May 20 2024")
-
toTimeString():只返回时间部分(如 "14:30:00 GMT+0800 (CST)")
-
toISOString():返回标准 ISO 8601 字符串(UTC 时间,如
"2024-05-20T06:30:00.000Z"),适合 API 通信
-
toLocaleString():按本地语言/地区格式化(可传 locale 和 options 控制,比如
date.toLocaleString('zh-CN', { hour12: false }))
-
toJSON():内部调用 toISOString(),用于 JSON.stringify() 自动序列化
基本上就这些。Date 对象本身不复杂,但月份从 0 开始、时区隐含影响、字符串解析宽松又不稳定——这些细节容易忽略,实际用时多打个 log 看一眼值,比猜更靠谱。
以上就是javascript怎样操作日期和时间?_javascript的Date对象有哪些方法?的详细内容,更多请关注php中文网其它相关文章!