再遇故人:JavaScript Date

起因

之所以想要记录一下 JavaScript Date,是因为在最近发掘了几个 Date 的新用法,完全是以前没有注意到的,所以记录一下。

打印 Date 实例的值

new Date()					// Tue Jun 16 2020 00:47:33 GMT+0800 (中国标准时间)
new Date().toString()		// "Tue Jun 16 2020 00:47:59 GMT+0800 (中国标准时间)"
new Date().toUTCString()	// "Mon, 15 Jun 2020 16:47:59 GMT"
new Date().toISOString() 	// GMTString | LocaleString ...
new Date().valueOf()		// 1592239679948
new Date().getTime()		// 1592239679948
+new Date()					// 1592239679948

Date 实例加减

+date				// 1592239679948	# Tue Jun 16 2020 00:47:59 GMT+0800 (中国标准时间)
+secondDate			// 1592240090940	# Tue Jun 16 2020 00:54:50 GMT+0800 (中国标准时间)

secondDate - date	// 410992			# 410992 / 1000 / 60 ≈ 6.85 m

secondDate + date	// "Tue Jun 16 2020 00:54:50 GMT+0800 (中国标准时间)Tue Jun 16 2020 00:47:59 GMT+0800 (中国标准时间)"
+secondDate + date	// "1592240090940Tue Jun 16 2020 00:47:59 GMT+0800 (中国标准时间)"
+secondDate + +date	// 3184479770888	# Sat Nov 29 2070 17:42:50 GMT+0800 (中国标准时间)

new Date(+date + 1000 * 60 * 7)			// Tue Jun 16 2020 00:54:59 GMT+0800 (中国标准时间)	# date 7 min 后
new Date(+date + 1000 * 60 * 60 * 24)	// Wed Jun 17 2020 00:47:59 GMT+0800 (中国标准时间)	# date 1天后

Date 自动换算年月日

// 6月共30天
const Jun30 = new Date("2020-06-30")			// Tue Jun 30 2020 08:00:00 GMT+0800 (中国标准时间)

new Date(+Jun30 + 1000 * 60 * 60 * 24)			// Wed Jul 01 2020 08:00:00 GMT+0800 (中国标准时间)
new Date(+Jun30 + 1000 * 60 * 60 * 24 * 32)		// Sat Aug 01 2020 08:00:00 GMT+0800 (中国标准时间)
new Date(+Jun30 + 1000 * 60 * 60 * 24 * 365)	// Wed Jun 30 2021 08:00:00 GMT+0800 (中国标准时间)

// 2020年2月共29天
const Feb28 = new Date("2020-02-28")			// Fri Feb 28 2020 08:00:00 GMT+0800 (中国标准时间)

new Date(+Feb28 + 1000 * 60 * 60 * 24)			// Sat Feb 29 2020 08:00:00 GMT+0800 (中国标准时间)	# 自动计算闰年
new Date(+Feb28 + 1000 * 60 * 60 * 24 * 366)	// Sun Feb 28 2021 08:00:00 GMT+0800 (中国标准时间)

总结

  1. +new Date() 相当于 new Date().getTime()
  2. Date 实例可以相加减
  3. Date 自动换算年月日(包括闰年2月)

猜你喜欢

转载自blog.csdn.net/qq_37164975/article/details/106774891
今日推荐