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
-
No Argument − 无参数时, Date() 构造函数创建了一个设定为当前日期和时间的 Date 对象。
-
milliseconds − 传递一个数字参数时, 它将按 getTime() 方法返回的内容进行指定为该日期的内部数字表示形式 (以毫秒为单位)。例如, 传递的参数 5000 即表示 1/1/70 00:00:05。
-
datestring − 当传递一个字符串参数时,它是日期的一个字符串表示形式,其格式由 Date.parse() 方法接受。
-
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 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>
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>
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>
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>
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>