JavaScript - 日期对象



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 – 表示时间读数的毫秒段的整数值。

返回值

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

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

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>

输出

它将分别返回上述提供的方法的结果。