内置对象 Date
Date 方法
方法 | 描述 |
---|---|
getDate() | 获取日期(月份中的日期),返回值为 1 到 31 之间的整数。 |
getDay() | 获取星期几,返回值为 0(表示星期日)到 6(表示星期六)之间的整数。 |
getFullYear() | 获取四位数的年份,返回值为一个年份。 |
getHours() | 获取小时数,返回值为 0 到 23 之间的整数。 |
getMilliseconds() | 获取毫秒数,返回值为 0 到 999 之间的整数。 |
getMinutes() | 获取分钟数,返回值为 0 到 59 之间的整数。 |
getMonth() | 获取月份,返回值为 0(一月)到 11(十二月)之间的整数。 |
getSeconds() | 获取秒数,返回值为 0 到 59 之间的整数。 |
getTime() | 获取日期的时间戳,返回值为从 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() | 获取本地时间与 UTC 时间之间的时差,返回值为以分钟为单位的整数值。 |
setDate(day) | 设置日期的天数为指定的值(参数为一个整数)。 |
setFullYear(year) | 设置日期的年份为指定的值(参数为一个四位数的整数)。 |
setHours(hour) | 设置日期的小时数为指定的值(参数为一个整数)。 |
setMilliseconds(millisecond) | 设置日期的毫秒数为指定的值(参数为一个整数)。 |
setMinutes(minute) | 设置日期的分钟数为指定的值(参数为一个整数)。 |
setMonth(month) | 设置日期的月份为指定的值(参数为一个整数,范围为 0 到 11)。 |
setSeconds(second) | 设置日期的秒数为指定的值(参数为一个整数)。 |
setTime(time) | 设置日期为指定的时间戳(参数为一个整数)。 |
toDateString() | 将日期对象转换为可读的字符串,只返回日期部分。 |
toISOString() | 将日期对象转换为 ISO 8601 格式的字符串。 |
toJSON() | 返回日期对象的 JSON 格式的字符串。 |
toLocaleDateString() | 将日期对象转换为本地日期格式的字符串。 |
toLocaleString() | 将日期对象转换为本地日期和时间格式的字符串。 |
toLocaleTimeString() | 将日期对象转换为本地时间格式的字符串。 |
toString() | 将日期对象转换为字符串。 |
toTimeString() | 将日期对象的时间部分转换为字符串。 |
toUTCString() | 将日期对象转换为 UTC 时间格式的字符串。 |
创建日期
Date 对象用于处理日期和时间。
可以通过 new 关键词来定义 Date 对象。以下代码定义了名为 myDate 的 Date 对象:
有四种方式初始化日期:
js
new Date();
new Date(value);
new Date(dateString);
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
设置日期
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2050 年 1 月 10 日):
js
var myDate = new Date()
myDate.setFullYear(2050, 0, 10) // 第二个参数为月份, 0 到 11 之间的整数值,表示从一月到十二月
在下面的例子中,我们将日期对象设置为 5 天后的日期:
js
var myDate = new Date()
myDate.setDate(myDate.getDate() + 5)
时间戳
时间戳是指 1970 年 01 月 01 日 00 时 00 分 00 秒起至现在的总秒数或毫秒数,它是一种特殊的计量时间的方式。
注:ECMAScript 中时间戳是以毫秒计的。
获取时间戳的方法,分别为 getTime 和 Date.now 和 +new Date()
js
// 1. 实例化
const date = new Date()
// 2. 获取时间戳
console.log(date.getTime())
// 还有一种获取时间戳的方法
console.log(+new Date())
// 还有一种获取时间戳的方法
console.log(Date.now())
两个日期比较
js
var x = new Date()
x.setFullYear(2100, 0, 14)
var today = new Date()
if (x > today) {
alert('今天是2100年1月14日之前')
} else {
alert('今天是2100年1月14日之后')
}