Date 4个月前

编程语言
746
Date

Date对象以国际标准时间(UTC)1970年1月1日00:00:00作为时间的零点,可以表示的时间范围是前后各1亿天(ms)。

作为普通函数使用

Date对象可作为普通函数直接调用

Date() // 返回当前时间字符串
Date(2029, 7, 11) // 带有参数返回的还是当前时间。

构造函数

Date可当作构造函数使用, 使用new会返回一个Date对象的实例 如果不加参数,实例代表的就是当前时间。

var today = new Date();

Date实例求值的时候,默认调用的是toString()方法 这使得对Date实例求值,返回的是一个字符串,代表该实例对应的时间。

var today = new Date();

today
today.toString() //二者是相等的
// 当前时间的字符串

todayDate的实例,直接求值等同于调用toString方法。

作为构造函数时,Date对象可以接受多种格式的参数,返回一个该参数对应的时间实例。

// 参数为时间零点开始计算的毫秒数
new Date(1378218728000)

// 参数为日期字符串
new Date('January 7, 2024');
// Sun Jan 07 2024 00:00:00 GMT+0800 (CST)

// 参数为多个整数,
// 代表年、月、日、小时、分钟、秒、毫秒
new Date(2013, 0, 7, 0, 0, 0, 0)
// Tue Jan 07 2013 00:00:00 GMT+0800 (CST)

关于Date构造函数的参数,有几点说明。 参数可以是负整数,代表1970之前的时间。

new Date(-1378218728000)
// Fri Apr 30 1926 17:27:52 GMT+0800 (CST)

只要是能被Date.parse()方法解析的字符串,都可当作参数。

new Date('2013-2-15')
new Date('2013/2/15')
new Date('02/15/2013')
new Date('2013-FEB-15')
new Date('FEB, 15, 2013')
new Date('FEB 15, 2013')
new Date('February, 15, 2013')
new Date('February 15, 2013')
new Date('15 Feb 2013')
new Date('15, February, 2013')
// Fri Feb 15 2013 00:00:00 GMT+0800 (CST)

上面多种写法返回的都是同一个时间。

参数为年、月、日等多个整数时,年和月是不能省略的,其他参数都可以省略的。

new Date(2013) // 2013被解释为毫秒数,而不是年份。
// Thu Jan 01 1970 08:00:02 GMT+0800 (CST)

运算

类型自动转换时,Date实例如果转为数值,则等于对应的毫秒数; 如果转为字符串,则等于对应的日期字符串。 两个日期实例对象进行减法运算时,返回的是它们间隔的毫秒数; 进行加法运算时,返回的是两个字符串连接而成的新字符串

var d1 = new Date(2000, 2, 1);
var d2 = new Date(2000, 3, 1);
d2 - d1
// 2678400000
d2 + d1
// "Sat Apr 01 2000 00:00:00 GMT+0800 (CST)Wed Mar 01 2000 00:00:00 GMT+0800 (CST)"

方法

now()

Date.now方法返回当前时间距离时间零点的毫秒数

Date.now() // 1364026285194

parse()

Date.parse方法用来解析日期字符串,返回该时间距离时间零点(1970年1月1日 00:00:00)的毫秒数

Date.parse('Aug 9, 1995')
Date.parse('January 26, 2011 13:51:50')
Date.parse('Mon, 25 Dec 1995 13:30:00 GMT')
Date.parse('Mon, 25 Dec 1995 13:30:00 +0430')
Date.parse('2011-10-10')
Date.parse('2011-10-10T14:48:00')

Date.parse('xxx') // NaN  解析失败返回`NaN`。

释为 UTC 时间(世界标准时间),Date构造函数的参数会被解释为当前时区的时间。

image
EchoEcho官方
无论前方如何,请不要后悔与我相遇。
1377
发布数
439
关注者
2223053
累计阅读

热门教程文档

Dart
35小节
Redis
14小节
Javascript
24小节
Python
76小节
Rust
84小节