Javascript 简明教程

JavaScript - Date

Date 对象是内置于 JavaScript 语言中的数据类型。使用 new Date( ) 创建日期对象,如下所示。<br>

创建日期对象后,可以使用许多方法对其进行操作。大多数方法只允许你使用本地时间或 UTC(全局时间或格林尼治标准时间)时间来获取和设置对象的年份、月份、日期、小时、分钟、秒和毫秒字段。

ECMAScript 标准要求“日期”对象在 1/1/1970 之前或之后的 1 亿天内能够以毫秒精度表示任何日期和时间。这是一个加减 273,785 年的范围,因此 JavaScript 可以表示直到公元 275755 年的日期和时间。

Syntax

你可以使用以下任何一种语法,使用 Date() 构造函数来创建一个 Date 对象:

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

Note − 在方括号中的参数始终是可选的。

Parameters

  1. No Argument − 无参数时, Date() 构造函数创建了一个设定为当前日期和时间的 Date 对象。

  2. milliseconds − 传递一个数字参数时, 它将按 getTime() 方法返回的内容进行指定为该日期的内部数字表示形式 (以毫秒为单位)。例如, 传递的参数 5000 即表示 1/1/70 00:00:05。

  3. datestring − 当传递一个字符串参数时,它是日期的一个字符串表示形式,其格式由 Date.parse() 方法接受。

  4. 7 agruments − 要使用上述构造函数的最后一种形式。以下是每个参数的描述: year − 表示年份的整数。为了兼容(为了避免 Y2K 问题),你始终应该完整地指定年份;使用 1998 而不是 98。 month − 表示月份的整数,从 0(表示 1 月)到 11(表示 12 月)。 date − 表示该月的天数的整数。 hour − 表示一天中的小时数的整数(24 小时制)。 minute − 表示时间读数的分钟部分的整数。 second − 表示时间读数的秒部分的整数。 millisecond − 表示时间读数的毫秒部分的整数。

Return Value

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

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

JavaScript Date Reference

在 JavaScript 中,Date 对象提供用于创建、处理和格式化日期和时间的方法。在这里,我们列举了 Date 类中所有现存的方法 −

JavaScript Date Methods

这里列举了与 Date 一起使用的各种方法及其说明。

Date Static Methods

我们使用 Date 对象调用这些方法 −

Sr.No.

Name & Description

1

Date.parse() 解析日期和时间的字符串表示形式,并返回该日期的内部毫秒表示。

2

Date.UTC() 返回指定 UTC 日期和时间的毫秒表示。

Date Methods

我们使用 Date 对象的实例调用这些方法 −

Sr.No.

Name & Description

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 对象的原始值。

Sr.No.

Name & Description

1

Date() 返回今天的日期和时间。

Example: Creating JavaScript Date Object

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

<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>

Output

如果执行以上程序,它将返回当前时间。

Example: Setting up custom date

在下面的示例中,我们已将自定义日期字符串作为 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>

Output

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

Example

在下面的示例中,我们已将毫秒作为 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>

Output

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

Example: Constructing a date from 7 arguments

在下面的示例中,我们已将年、月、日、时、分、秒和毫秒作为 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>

Output

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

但是,可以使用日期对象的各种方法来格式化日期字符串。我们来看下面的示例。

Example: Formatting a date string

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

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>

Output

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