JavaScript Date(日期) 对象
avaScript具有一个内置 Date 对象,该对象存储日期和时间并提供相应的处理日期和时间的方法。
要创建 Date 对象的新实例,请使用 new 关键字:
const date = new Date();
该 Date 对象包含一个 Number,表示从新纪元(即1970年1月1日)起经过的毫秒数。
您可以将日期字符串传递给 Date 构造函数以创建指定日期的对象:
const date = new Date('Jul 12 2011');
要获取当前年份,可以使用Date对象的 getFullYear() 实例方法 。getFullYear() 方法返回日期对应的年份:
const currentYear = date.getFullYear();
console.log(currentYear); //2020
同样,有一些方法可以获取当月的当前日期和当前的月份:
const today = date.getDate();
const currentMonth = date.getMonth() + 1;
getDate() 方法返回当月的当前日期(1-31)。
getMonth() 方法返回指定日期的月份。需要注意的一点是, getMonth()方法返回的是索引值(0-11),其中0表示一月,11表示十二月。因此,加1可以使月份的值标准化。
Date.now()
now()是 Date 对象的静态方法。它返回以毫秒为单位的值,该值表示自纪元以来经过的时间。您可以将now()方法返回的毫秒数传递给Date 构造函数以实例化新的 Date 对象:
const timeElapsed = Date.now();
const today = new Date(timeElapsed);
创建日期
Date 对象用于处理日期和时间。
可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:
有四种方式初始化日期:
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
上面的参数大多数都是可选的,在不指定的情况下,默认参数是0。
实例化一个日期的一些例子:
var today = new Date()
var d1 = new Date("October 13, 1975 11:13:00")
var d2 = new Date(79,5,24)
var d3 = new Date(79,5,24,11,33,0)
设置日期
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2010 年 1 月 14 日):
var myDate=new Date();
myDate.setFullYear(2010,0,14);
在下面的例子中,我们将日期对象设置为 5 天后的日期:
var myDate=new Date();
myDate.setDate(myDate.getDate()+5);
注意: 如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
日期获取方法
获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):
getDate()
定义:方法可返回月份的某一天
语法:Date.getDate()
示例:
var d = new Date("July 21, 1983 01:15:00");
var n = d.getDate();
console.log(d.getDate()) //21
返回指定时间该月的一天
getDay()
定义:可返回一周(0~6)的某一天的数字
语法:Date.getDay()
示例1.:
<p id="demo">单击按钮显示今天周几</p>
<button onclick="myFunction()">点我</button>
<script>
//返回周几的名称(不是一个数字):
function myFunction() {
var d = new Date();
var weekday = new Array(7);
weekday[0] = "周日";
weekday[1] = "周一";
weekday[2] = "周二";
weekday[3] = "周三";
weekday[4] = "周四";
weekday[5] = "周五";
weekday[6] = "周六";
var x = document.getElementById("demo");
x.innerHTML = weekday[d.getDay()];
}//周三
getFullYear()
定义:可返回一个表示年份的 4 位数字
语法:Date.getFullYear()
示例:
<p id="demo">单击按钮显示给定日期的年份</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var d = new Date("July 21, 2022 01:15:00");
var x = document.getElementById("demo");
x.innerHTML=d.getFullYear();
}//2022
getHours()
定义:方法可返回时间的小时字段
语法:Date.getHours()
示例:
<p id="demo">单击按钮显示给定时间的小时时段:</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
var d = new Date("July 21, 1983 010:15:00");
var x = document.getElementById("demo");
x.innerHTML=d.getHours();
}//10
</script>
getTime()
定义:方法可返回距 1970 年 1 月 1 日之间的毫秒数
语法:Date.getTime()
示例:
var d = new Date()
document.write(d.getTime())//1666784778751
日期格式化
我们可以使用Date对象的方法将日期格式化为多种格式(GMT,ISO等)。
toDateString()方法以人类可读的格式返回日期:
today.toDateString(); // "Sun Jun 14 2020"
toISOString()方法返回遵循ISO 8601扩展格式的日期:
today.toISOString(); // "2020-06-13T18:30:00.000Z"
toUTCString()方法以UTC时区格式返回日期:
today.toUTCString(); // "Sat, 13 Jun 2020 18:30:00 GMT"
toLocaleDateString()方法以对地区敏感的格式返回日期:
today.toLocaleDateString(); // "6/14/2020"