JavaScript 中的 Date 对象用于处理日期和时间。它提供了一系列的方法来让我们在代码中执行日期和时间的操作。以下是对 Date 对象的基本介绍:

创建 Date 对象

var dateNow = new Date(); // 当前日期和时间
var dateSpecific = new Date('2024-02-16'); // 特定日期
var dateSpecific = new Date("October 13, 2014 11:13:00");
var dateTimestamp = new Date(0); // 1970-01-01T00:00:00.000Z
var dateComponents = new Date(2024, 1, 16); // 年, 月(从0开始计数), 日
 
new Date()
new Date(date string)
 
new Date(year,month)
new Date(year,month,day)
new Date(year,month,day,hours)
new Date(year,month,day,hours,minutes)
new Date(year,month,day,hours,minutes,seconds)
new Date(year,month,day,hours,minutes,seconds,ms)
 
new Date(milliseconds)

注意:

  1. 在 JavaScript 中,月份是从 0 开始计数的,即 0 代表一月,1 代表二月,依此类推。
  2. Specifying a day higher than max, will not result in an error but add the overflow to the next month。
  3. One and two digit years will be interpreted as 19xx。const d = new Date(99, 11, 24);
  4. JS stores dates as milliseconds。

Date 方法

获取日期和时间

  • getDate(): 获取当前月份的日(1-31)。
  • getDay(): 获取当前星期几,周日为 0,周一为 1,以此类推。
  • getMonth(): 获取当前月份(0-11)。
  • getFullYear(): 获取年份。
  • getHours(): 获取小时(0-23)。
  • getMinutes(): 获取分钟(0-59)。
  • getSeconds(): 获取秒数(0-59)。
  • getMilliseconds(): 获取毫秒数(0-999)。
  • getTime(): 返回时间戳,表示自 1970 年 1 月 1 日 00:00:00 UTC 以来经过的毫秒数。
  • Date.now(): returns the number of milliseconds since January 1, 1970.

NOTE

The get methods above return Local time.
If get UTC time, use getUTCxxx(), such as getUTCDate().

设置日期和时间

  • setDate(): 设置月份中的某一天(1-31)。
  • setMonth(): 设置月份(0-11)。
  • setFullYear(): 设置完整年份。
  • setHours(): 设置小时(0-23)。
  • setMinutes(): 设置分钟(0-59)。
  • setSeconds(): 设置秒数(0-59)。
  • setMilliseconds(): 设置毫秒数(0-999)。
  • setTime(): 通过时间戳设置日期对象。

时间格式化

  • toLocaleDateString(): 根据本地时间格式,返回日期部分的字符串。
  • toLocaleTimeString(): 根据本地时间格式,返回时间部分的字符串。
  • toLocaleString(): 根据本地时间格式,返回日期和时间的字符串。
  • toDateString(): 将日期转换为更易读的格式,只包含日期而不包含时间。
  • toTimeString(): 将时间转换为更易读的格式,只包含时间而不包含日期。
  • toISOString(): 返回一个 ISO(ISO 8601)格式的字符串:YYYY-MM-DDTHH:mm:ss.sssZ。
  • toUTCString(): using the UTC standard.

比较日期

  • 可以使用 getTime() 方法来获取两个日期的毫秒值,进而比较两个日期。

示例

var now = new Date();
console.log(now.toString()); // 显示当前日期和时间的字符串表示
console.log("Year: " + now.getFullYear()); // 显示当前年份
console.log("Month: " + (now.getMonth() + 1)); // 显示当前月份
console.log("Day: " + now.getDate()); // 显示当前月份的日
console.log("Time: " + now.toLocaleTimeString()); // 显示本地格式的时间
 
// 设置特定日期和时间
now.setFullYear(2025);
now.setMonth(11); // 设置为十二月
now.setDate(25); // 设置为25号
console.log("New Date: " + now.toString()); // 显示新设置的日期和时间

Date 对象是处理 JavaScript 中的日期和时间相关功能的基本工具。通过上述方法的使用,可以轻松实现日期和时间的获取、设置和格式化。