JavaScript - 日期



Date 对象是 JavaScript 语言内置的一种数据类型。Date 对象使用 `new Date()` 创建,如下所示。

创建 Date 对象后,许多方法允许你对其进行操作。大多数方法只是允许你使用本地时间或 UTC(通用或 GMT)时间获取和设置对象的年、月、日、时、分、秒和毫秒字段。

ECMAScript 标准要求 Date 对象能够以毫秒精度表示 1970 年 1 月 1 日前后 1 亿天内的任何日期和时间。这是正负 273,785 年的范围,因此 JavaScript 可以表示到 275755 年的日期和时间。

语法

可以使用以下任何语法使用 Date() 构造函数创建 Date 对象:

new Date( )
new Date(milliseconds)
new Date(datestring)
new Date(year,month,date[,hour,minute,second,millisecond ])

注意 - 方括号中的参数始终是可选的。

参数

  • 无参数 - 无参数时,Date() 构造函数创建一个设置为当前日期和时间的 Date 对象。
  • 毫秒数 - 传递一个数值参数时,它将被视为日期的内部数值表示(以毫秒为单位),如同 `getTime()` 方法返回的值。例如,传递参数 5000 将创建一个表示 1970 年 1 月 1 日午夜后五秒的日期。
  • 日期字符串 - 传递一个字符串参数时,它是一个日期的字符串表示,格式为 `Date.parse()` 方法接受的格式。
  • 7 个参数 - 使用上面显示的构造函数的最后一种形式。以下是每个参数的描述:
    • - 表示年份的整数。
    • - 表示月份的整数,从 0(一月)到 11(十二月)。
    • - 表示月份中的日的整数。
    • - 表示一天中的小时的整数(24 小时制)。
    • - 表示时间读数中分钟部分的整数。
    • - 表示时间读数中秒部分的整数。
    • 毫秒 - 表示时间读数中毫秒部分的整数。

返回值

它返回包含日、月、日期、年、小时、分钟、秒和时区的日期字符串,如下所示。

Wed Aug 09 2023 09:24:03 GMT+0530 (India Standard Time)

JavaScript 日期参考

在 JavaScript 中,Date 对象提供用于创建、操作和格式化日期和时间的方法。此处列出了 Date 类中存在的所有方法:

JavaScript 日期方法

以下是与 Date 一起使用的方法及其说明。

Date 静态方法

这些方法使用 Date 对象调用:

序号 名称和描述
1 Date.parse()

分析日期和时间的字符串表示形式,并返回该日期的内部毫秒表示形式。

2 Date.UTC()

返回指定 UTC 日期和时间的毫秒表示形式。

Date 方法

这些方法使用 Date 对象的实例调用:

序号 名称和描述
1 getDate()

根据本地时间返回指定日期的月份中的天数。

2 getDay()

根据本地时间返回指定日期的星期几。

3 getFullYear()

根据本地时间返回指定日期的年份。

4 getHours()

根据本地时间返回指定日期的小时。

5 getMilliseconds()

根据本地时间返回指定日期的毫秒。

6 getMinutes()

根据本地时间返回指定日期的分钟。

7 getMonth()

根据本地时间返回指定日期中的月份。

8 getSeconds()

根据本地时间返回指定日期中的秒数。

9 getTime()

返回指定日期的数值,表示自1970年1月1日00:00:00 UTC以来的毫秒数。

10 getTimezoneOffset()

返回当前区域设置的时区偏移量(以分钟为单位)。

11 getUTCDate()

根据世界标准时间返回指定日期中的月份中的天数(日期)。

12 getUTCDay()

根据世界标准时间返回指定日期中的星期几。

13 getUTCFullYear()

根据世界标准时间返回指定日期中的年份。

14 getUTCHours()

根据世界标准时间返回指定日期中的小时。

15 getUTCMilliseconds()

根据世界标准时间返回指定日期中的毫秒数。

16 getUTCMinutes()

根据世界标准时间返回指定日期中的分钟数。

17 getUTCMonth()

根据世界标准时间返回指定日期中的月份。

18 getUTCSeconds()

根据世界标准时间返回指定日期中的秒数。

19 setDate()

根据本地时间设置指定日期中的月份中的天数。

20 setFullYear()

根据本地时间设置指定日期中的年份。

21 setHours()

根据本地时间设置指定日期中的小时。

22 setMilliseconds()

根据本地时间设置指定日期中的毫秒数。

23 setMinutes()

根据本地时间设置指定日期中的分钟数。

24 setMonth()

根据本地时间设置指定日期中的月份。

25 setSeconds()

根据本地时间设置指定日期中的秒数。

26 setTime()

将Date对象设置为自1970年1月1日00:00:00 UTC以来的毫秒数所表示的时间。

27 setUTCDate()

根据世界标准时间设置指定日期中的月份中的天数。

28 setUTCFullYear()

根据世界标准时间设置指定日期中的年份。

29 setUTCHours()

根据世界标准时间设置指定日期中的小时。

30 setUTCMilliseconds()

根据世界标准时间设置指定日期中的毫秒数。

31 setUTCMinutes()

根据世界标准时间设置指定日期中的分钟数。

32 setUTCMonth()

根据世界标准时间设置指定日期中的月份。

33 setUTCSeconds()

根据世界标准时间设置指定日期中的秒数。

34 toDateString()

以人类可读的字符串形式返回Date的“日期”部分。

35 toISOString()

返回ISO格式的日期字符串。

36 toLocaleDateString()

使用当前区域设置的约定返回Date的“日期”部分的字符串。

37 toJSON()

将日期转换为字符串。

38 toLocaleString()

使用当前区域设置的约定将日期转换为字符串。

39 toLocaleTimeString()

使用当前区域设置的约定返回Date的“时间”部分的字符串。

40 toString()

返回表示指定Date对象的字符串。

41 toTimeString()

以人类可读的字符串形式返回Date的“时间”部分。

42 toUTCString()

使用世界标准时间约定将日期转换为字符串。

43 valueOf()

返回Date对象的原始值。

Date 对象构造函数

以下是 JavaScript 中的 Date 对象构造函数:

序号 名称和描述
1 Date()

返回今天的日期和时间。

示例:创建 JavaScript Date 对象

在下面的示例中,我们创建了一个日期对象的新的实例。在输出中,您可以看到它返回当前时间。

<html>
<head>
   <title> JavaScript - Date object </title>
</head>
<body>
<p id = "output"> </p>
<script>
   const date = new Date();
   document.getElementById("output").innerHTML = 
      "Today's date is : " + date;
</script>
</body>
</html>

输出

如果我们执行上面的程序,它将返回当前时间。

示例:设置自定义日期

在下面的示例中,我们传递自定义日期字符串作为 Date() 构造函数的参数来创建自定义日期。

Date() 构造函数返回标准日期字符串,您可以在输出中看到。

<html>
<head>
    <title> JavaScript - Date object </title>
</head>
<body>
<p id = "output"> </p>
<script>
   const date = new Date("August 19, 2024 09:30:54");
   document.getElementById("output").innerHTML = 
      "The custom date is : " + date;
</script>
</body>
</html>

输出

如果我们执行上面的程序,它将返回提供的自定义时间。

示例

在下面的示例中,我们将毫秒作为 Date() 构造函数的参数。如果您传递正毫秒作为参数,则对象将根据1970年1月1日00:00:00 + 毫秒返回日期。

否则,如果传递负毫秒作为参数,则它将根据1970年1月1日00:00:00 - 毫秒返回日期。

<html>
<head>
   <title> JavaScript - Date object </title>
</head>
<body>
<p id = "output"> </p>
<script>
   const output = document.getElementById("output");
   let date = new Date(999999999999);
   output.innerHTML += "The Date after 1st January, 1970 is - " + date + "<br>";
   date = new Date(-999999999999);
   output.innerHTML += "The Date before 1st January, 1970 is - " + date;
</script>
</body>
</html>

输出

它将返回1970年1月1日之后和之前的日期作为结果。

示例:用7个参数构造日期

在下面的示例中,我们传递年份、月份、日期、小时、分钟、秒和毫秒作为 Date() 构造函数的参数。Date() 构造函数返回完整的日期字符串,您可以在输出中看到。

<html>
<head>
   <title> JavaScript - Date object </title>
</head>
<body>
<p id = "output"> </p>
<script>
   const date = new Date(2001, 5, 14, 6, 43, 58, 342);
   document.getElementById("output").innerHTML = 
      "The custom date is : " + date;
</script>
</body>
</html>

输出

如果我们执行上面的程序,它将返回提供的自定义时间。

但是,您可以使用Date对象的不同的方法来格式化日期字符串。让我们看下面的例子。

示例:格式化日期字符串

在下面的示例中,使用了三种不同的方法来格式化日期字符串。

toDateString() 方法只从日期字符串中提取日期,并删除时间部分。

toISOString() 方法将日期字符串转换为ISO格式。

toUTCString() 方法将日期字符串转换为UTC时间格式。

<html>
<head>
   <title> JavaScript - Formatting the date </title>
</head>
<body>
<p id = "output"> </p>
<script>
   const date = new Date(999999999999);
   document.getElementById("output").innerHTML += 
      "The Date after 1st January, 1970 is: " + date.toDateString() + "<br>"+
      "The Date after 1st January, 1970 is: " + date.toISOString() + "<br>"+
      "The Date after 1st January, 1970 is: " + date.toUTCString();
</script>
</body>
</html>

输出

它将分别返回上面提供的方法的输出。

广告