JavaScript - Date 日期对象
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 对象,并设置其为当前日期和时间。
- millisecond − 传递一个数字参数时,该参数将被视为 getTime() 方法返回的日期的内部数字表示形式(以毫秒为单位)。例如,传递参数 5000 将创建一个表示 1970 年 1 月 1 日午夜过后五秒的日期。
- datestring − 传递一个字符串参数时,该参数将以 Date.parse() 方法接受的格式表示日期的字符串。
-
7 个参数 − 要使用上面显示的构造函数的最后一种形式。以下是每个参数的描述 −
- year − 表示年份的整数值。为了兼容性(为了避免 Y2K 问题),您应该始终指定完整的年份;使用 1998 年而不是 98 年。
- month − 表示月份的整数值,从 0 表示一月到 11 表示十二月。
- date − 表示日期的整数值。
- hour − 表示一天中小时的整数值(24 小时制)。
- minute − 表示时间读数的分钟部分的整数值。
- second − 表示时间读数的秒部分的整数值。
- millisecond − 表示时间读数的毫秒部分的整数值。
返回值
返回包含日、月、日、年的日期字符串,小时、分钟、秒和时区,如下所示。
Wed Aug 09 2023 09:24:03
JavaScript 日期参考
在 JavaScript 中,Date 对象提供了创建、操作和格式化日期和时间的方法。这里,我们列出了 Date 类中的所有方法 -
JavaScript 日期方法
以下是 Date 中使用的方法及其说明的列表。
日期静态方法
这些方法通过 Date 对象调用 -
| 序列号 | 名称和说明 |
|---|---|
| 1 |
Date.parse()
解析日期和时间的字符串表示形式,并返回该日期的内部毫秒表示形式。 |
| 2 |
Date.UTC()
返回指定 UTC 日期和时间的毫秒表示形式。 |
日期方法
使用 Date 对象的实例调用这些方法 -
| Sr.No. | 名称和说明 |
|---|---|
| 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()
以可读字符串形式返回日期的"日期"部分。 |
| 35 |
toISOString()
以 ISO 格式返回日期字符串。 |
| 36 |
toLocaleDateString()
使用当前语言环境的约定,将日期的"日期"部分以字符串形式返回。 |
| 37 |
toJSON()
将日期转换为字符串。 |
| 38 |
toLocaleString()
使用当前语言环境的约定,将日期转换为字符串。 |
| 39 |
toLocaleTimeString()
使用当前语言环境的约定,将日期的"时间"部分返回为字符串。 |
| 40 |
toString()
返回表示指定日期对象的字符串。 |
| 41 |
toTimeString()
将日期的"时间"部分返回为人类可读的字符串。字符串。 |
| 42 |
toUTCString()
使用世界时间约定将日期转换为字符串。 |
| 43 |
valueOf()
返回 Date 对象的原始值。 |
日期对象构造函数
以下是 JavaScript 中的日期对象构造函数 -
| Sr.No. | 名称和说明 |
|---|---|
| 1 |
Date()
返回今天的日期和时间。 |
示例:创建 JavaScript 日期对象
在下面的示例中,我们创建了一个日期对象的新实例。在输出中,您可以观察到它返回了当前时间。
<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 日之后和 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>
输出
它将分别返回上述提供的方法的输出。

