Date 对象是 JavaScript 语言中内置的一种数据类型。Date 对象是使用新的 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 对象。
- milliseconds − 当传递一个数字参数时,它被视为日期的内部数字表示形式(以毫秒为单位),由 getTime() 方法返回。例如,传递参数 5000 会创建一个日期,该日期表示 70 年 1 月 1 日午夜后 5 秒。
- datestring − 当传递一个字符串参数时,它是日期的字符串表示形式,采用 Date.parse() 方法接受的格式。
- 7 agruments − 使用上面显示的构造函数的最后形式。以下是每个参数的描述 -
- year − 表示年份的整数值。为了兼容性(以避免 Y2K 问题),您应该始终指定完整的年份;使用 1998 而不是 98。
- month − 表示月份的整数值,从 0 开始表示 1 月,到 11 月表示 11 月。
- date − 表示月份中某天的整数值。
- hour − 表示一天中的小时的整数值(24 小时刻度)。
- minute − 表示时间读数的分钟段的整数值。
- second − 表示时间读数的第二段的整数值。
- millisecond – 表示时间读数的毫秒段的整数值。
返回值
它返回包含日、月、日、年、小时、分钟、秒和时区的日期字符串,如下所示。
JavaScript 日期参考
在 JavaScript 中,Date 对象提供了用于创建、操作日期和时间以及设置日期和时间格式的方法。在这里,我们列出了 Date 类中存在的所有方法 -
JavaScript 日期方法
以下是用于 Date 的方法及其描述的列表。
Date 静态方法
这些方法是使用 Date 对象 -
名称 | 描述 |
---|---|
Date.parse() |
解析日期和时间的字符串表示形式,并返回该日期的内部毫秒表示形式。 |
Date.UTC() |
返回指定 UTC 日期和时间的毫秒表示形式。 |
日期方法
这些方法是使用 Date 对象的实例来调用的 -
名称 | 描述 |
---|---|
getDate() |
根据当地时间返回指定日期的月份日期。 |
getDay() |
根据本地时间返回指定日期的星期几。 |
getFullYear() |
根据本地时间返回指定日期的年份。 |
getHours() |
根据当地时间返回指定日期的小时。 |
getMilliseconds() |
根据当地时间返回指定日期的毫秒数。 |
getMinutes() |
根据当地时间返回指定日期的分钟数。 |
getMonth() |
根据当地时间返回指定日期的月份。 |
getSeconds() |
根据当地时间返回指定日期的秒数。 |
getTime() |
返回指定日期的数值,作为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数。 |
getTimezoneOffset() |
返回当前区域设置的时区偏移量(以分钟为单位)。 |
getUTCDate() |
根据世界时返回指定日期的月份的日期(日期)。 |
getUTCDay() |
根据世界时返回指定日期的星期几。 |
getUTCFullYear() |
根据世界时返回指定日期的年份。 |
getUTCHours() |
根据世界时返回指定日期的小时数。 |
getUTCMilliseconds() |
根据世界时返回指定日期的毫秒数。 |
getUTCMinutes() |
根据世界时返回指定日期的分钟数。 |
getUTCMonth() |
根据世界时返回指定日期的月份。 |
getUTCSeconds() |
根据世界时返回指定日期的秒数。 |
setDate() |
根据当地时间设置指定日期的月份日期。 |
setFullYear() |
根据当地时间设置指定日期的全年。 |
setHours() |
根据当地时间设置指定日期的小时数。 |
setMilliseconds() |
根据本地时间设置指定日期的毫秒数。 |
setMinutes() |
根据当地时间设置指定日期的分钟数。 |
setMonth() |
根据当地时间设置指定日期的月份。 |
setSeconds() |
根据当地时间设置指定日期的秒数。 |
setTime() |
将 Date 对象设置为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数所表示的时间。 |
setUTCDate() |
根据世界标准时间设置指定日期的月份日期。 |
setUTCFullYear() |
根据世界标准时间设置指定日期的全年。 |
setUTCHours() |
根据世界标准时间设置指定日期的小时。 |
setUTCMilliseconds() |
根据世界时设置指定日期的毫秒数。 |
setUTCMinutes() |
根据世界标准时间设置指定日期的分钟数。 |
setUTCMonth() |
根据世界标准时间设置指定日期的月份。 |
setUTCSeconds() |
根据世界时设置指定日期的秒数。 |
toDateString() |
将 Date 的 “date” 部分作为用户可读的字符串返回。 |
toISOString() |
返回 ISO 格式的日期字符串。 |
toLocaleDateString() |
使用当前区域设置的约定,以字符串形式返回 Date 的 “date” 部分。 |
toJSON() |
将日期转换为字符串。 |
toLocaleString() |
使用当前区域设置的约定将日期转换为字符串。 |
toLocaleTimeString() |
使用当前区域设置的约定,将 Date 的 “time” 部分作为字符串返回。 |
toString() |
返回表示指定 Date 对象的字符串。 |
toTimeString() |
将 Date 的 “time” 部分作为用户可读的字符串返回。 |
toUTCString() |
使用通用时间约定将日期转换为字符串。 |
valueOf() |
返回 Date 对象的基元值。 |
Date 对象构造函数
以下是 JavaScript 中的 Date 对象构造函数 -
名称 | 描述 |
---|---|
Date() |
返回今天的日期和时间。 |
示例:创建 JavaScript Date 对象
在下面的示例中,我们创建 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 日之后和 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>
输出
它将分别返回上述提供的方法的结果。