走在前端的大道上

这是我之前学习时候的一篇笔记,现在整理一下发出来,希望对刚入门前端的朋友有所帮助,前端老司机请请忽略本篇文章


记得我刚学js的时候只知道Date的一些常见的用法,有多常见?

var date = new Date()//获取当前时间
let Y = date.getFullYear();
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let s = date.getSeconds();

后来在一些项目或者文章发现了一些新方法,这也是我这篇文章想传递给小白的

1.通过 new Date(2018,1,23) 获取时间

var a = new Date(2018,1,23)
console.log(a) //Fri Feb 23 2018 00:00:00 GMT+0800 (CST)

var a = new Date(2018,1,24)
console.log(a) //Sat Feb 24 2018 00:00:00 GMT+0800 (CST)

var a = new Date(2018,0,24)
console.log(a) //Wed Jan 24 2018 00:00:00 GMT+0800 (CST)

var a = new Date(2018,13,24)
console.log(a) //Sun Feb 24 2019 00:00:00 GMT+0800 (CST)

var a = new Date(2018,11,24,23,11)
console.log(a) //Mon Dec 24 2018 23:11:00 GMT+0800 (CST)

clipboard.png

如果你想获取某个月的最后一天怎么办?比如2018年的2月

var a = new Date(2018,2,0)
console.log(a) //Wed Feb 28 2018 00:00:00 GMT+0800 (CST)
a.getDate() //28

clipboard.png

2.通过 new Date('2018-1-24') 获取时间

注意这种写法的兼容性,在safari 和 iOS 系统下 不支持 - 这种写法,保险起见 使用 / ,如2018/1/1(2018/01/01,2018/1/01)

var a = new Date('2018-1-24')
console.log(a) //Wed Jan 24 2018 00:00:00 GMT+0800 (CST)

var a = new Date('2018-12-24 1:12:14')
console.log(a) //Mon Dec 24 2018 01:12:14 GMT+0800 (CST)

var a = new Date('2018-0-24')
console.log(a) //Invalid Date

var a = new Date('2018-13-24')
console.log(a) //Invalid Date

var a = new Date('2018-12-24 23:12:14')
console.log(a) //Mon Dec 24 2018 23:12:14 GMT+0800 (CST)

clipboard.png

3.通过 Date.parse('2018-12-1') 获取时间
注意这种写法的兼容性,在safari 和 iOS 系统下 不支持 - 这种写法,保险起见 使用 / ,如2018/1/1(2018/01/01,2018/1/01)

var a = Date.parse('2018-12-1')
console.log(a) //1543593600000

var a = Date.parse('2018-12-1 13:13:12')
console.log(a) //1543641192000

var a = new Date('2018-12-1 13:13:12')
console.log(a) //Sat Dec 01 2018 13:13:12 GMT+0800 (CST)

var a = new Date('2018-12-1 13:13:12').getTime()
console.log(a) //1543641192000

var a = Date.parse('2018-13-1')
console.log(a) //NaN

clipboard.png


于梦中2010
2.1k 声望181 粉丝

前端菜鸟儿,请多关照!