JavaScript 日期对象

预计阅读时间1 分 116 views

虽然 JavaScript 语言本身没有提供独立的日期数据类型,但它提供了一个强大的 Date 对象 来处理日期和时间。Date 对象包含了丰富的方法(但不含有任何属性),可以方便地设置、获取和操作日期时间信息。

创建日期对象

你可以使用 new Date() 构造函数来创建一个 Date 对象。 Date 构造函数非常灵活,支持多种参数形式:

  • 不带参数: new Date() 创建一个表示当前日期和时间的 Date 对象。
  • 字符串参数: new Date("YYYY-MM-DDTHH:mm:ss.sssZ") 根据指定格式的日期时间字符串创建一个 Date 对象。
let date1 = new Date(); // 当前日期和时间
let date2 = new Date("2024-01-01T12:00:00");  // 2024年1月1日 12:00:00 
  • 数字参数: new Date(year, monthIndex, day, hours, minutes, seconds, milliseconds) 根据指定的年月日时分秒毫秒创建一个 Date 对象。
let date3 = new Date(2023, 11, 25); // 2023年12月25日 (注意月份从0开始)

获取日期时间信息

Date 对象提供了许多 get 方法,用于获取日期和时间的各个部分:

  • getFullYear(): 获取年份 (四位数)
  • getMonth(): 获取月份 (0-11,0 表示一月)
  • getDate(): 获取日期 (1-31)
  • getHours(): 获取小时数 (0-23)
  • getMinutes(): 获取分钟数 (0-59)
  • getSeconds(): 获取秒数 (0-59)
  • getDay(): 获取星期几 (0-6,0 表示星期日)
let today = new Date();
console.log(today.getFullYear());  //  例如:2023
console.log(today.getMonth() + 1); //  例如:11 (月份需要加 1)
console.log(today.getDate());     //  例如:27

设置日期时间信息

get 方法相对应,Date 对象也提供了一系列 set 方法,用于修改日期和时间的各个部分:

  • setFullYear(year)
  • setMonth(monthIndex)
  • setDate(day)
  • setHours(hours)
  • setMinutes(minutes)
  • setSeconds(seconds)
let christmas = new Date(2023, 11, 25);
christmas.setHours(18); // 设置时间为下午 6 点

日期时间格式化

Date 对象提供了一些 to 方法,用于将日期格式化为字符串:

  • toDateString(): 将日期部分格式化为可读字符串。
  • toTimeString(): 将时间部分格式化为可读字符串。
  • toISOString(): 将日期格式化为 ISO 8601 标准字符串 (YYYY-MM-DDTHH:mm:ss.sssZ)。
let today = new Date();
console.log(today.toDateString()); //  例如: "Wed Nov 29 2023"
console.log(today.toTimeString()); //  例如: "15:00:00 GMT+0800 (中国标准时间)"
console.log(today.toISOString()); //  例如: "2023-11-29T07:00:00.000Z" 

日期计算和比较

Date 对象支持加减运算,可以方便地进行日期计算。

let tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1); //  计算明天的日期

// 比较两个日期
let date1 = new Date(2023, 11, 25);
let date2 = new Date(2023, 11, 26);
console.log(date1 < date2); //  true

总结

JavaScript 的 Date 对象提供了丰富的功能,可以满足我们对日期和时间的各种操作需求。

    分享此文档

    JavaScript 日期对象

    或复制链接

    本页目录