如何用JavaScript处理日期和时间_内置的Date对象有哪些功能?

23次阅读

javaScript date对象用于处理日期时间,支持创建、获取、设置和格式化,但需配合方法或库实现时区转换等高级功能;创建方式包括无参、字符串、时间戳和参数列表(注意月份从0开始);获取/设置方法区分本地与UTC;格式化推荐toISOString()或toLocaleString()等。

如何用JavaScript处理日期和时间_内置的Date对象有哪些功能?

javascriptDate 对象是处理日期和时间的核心工具,它能解析、创建、获取、设置和格式化时间,但本身不提供时区转换或日历计算等高级功能,需配合方法或第三方库使用。

创建和初始化 Date 对象

有多种方式生成一个 Date 实例:

  • 不传参:创建表示当前系统时间的对象 — new Date()
  • 传入时间字符串:如 new Date("2024-05-20")new Date("May 20, 2024 14:30:00")(注意格式兼容性,推荐 ISO 8601 格式)
  • 传入时间戳(毫秒数):如 new Date(1716210000000)
  • 传入年、月、日等参数:如 new Date(2024, 4, 20, 14, 30, 0)(注意:月份从 0 开始,即 0 表示一月)

获取日期与时间的各个部分

Date 提供一系列 getXXX() 方法读取本地时间值:

  • getFullYear()getMonth()(0–11)、getDate()(1–31)
  • getHours()getMinutes()getSeconds()getMilliseconds()
  • getDay() 返回星期几(0 表示周日,1 表示周一)
  • 若需 UTC 时间,用对应 getUTCXXX() 方法,如 getUTCHours()

设置日期与时间

通过 setXXX() 方法修改日期对象的内部值:

立即学习Java免费学习笔记(深入)”;

  • setDate(25) 可设置当月第 25 天;若超出范围(如 2 月 30 日),Date 会自动进位到下个月
  • setFullYear(2025, 0, 1) 一次性设年、月、日(月仍从 0 开始)
  • 所有 set 方法均会改变原对象,返回的是时间戳(毫秒数),不是新 Date 对象

格式化与转换常用方法

浏览器环境提供了多个便捷的输出方法:

  • toString():返回本地时区的可读字符串(含时区缩写)
  • toISOString():返回标准 ISO 8601 格式字符串(UTC 时间,如 "2024-05-20T06:30:00.000Z"),适合 API 传输
  • toLocaleString()toLocaleDateString()toLocaleTimeString():按用户本地语言和时区格式化,支持 options 参数定制(如星期、年份缩写、时区显示)
  • getTime() 获取时间戳,valueOf() 效果相同,可用于比较或存储

不复杂但容易忽略:Date 对象始终基于系统本地时区初始化,解析字符串时行为可能因浏览器而异;涉及跨时区逻辑建议统一用 UTC 处理,或使用 Intl.DateTimeFormat 或轻量库如 dayjs

text=ZqhQzanResources