关于日期的操作有两种:操作日期时间,操作时间戳。下面是相关API
时间戳,通常是一个字符序列,唯一地标识某一刻的时间,是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
一、创建Date()对象
var date1 = new Date(); // 参数是时间戳 var date2 = new Date(1486915200000); // 参数是日期字符串 var date3 = new Date('2017/2/13'); // 参数是年、月、日...,其中年月日是必须的 var date4 = new Date('2017', '2', '13'); // Mon Feb 13 2017 18:09:31 GMT 0800 (中国标准时间) console.log(date1) // Mon Feb 13 2017 00:00:00 GMT 0800 (中国标准时间) console.log(date2) // Mon Feb 13 2017 00:00:00 GMT 0800 (中国标准时间) console.log(date3) // Mon Feb 13 2017 00:00:00 GMT 0800 (中国标准时间) console.log(date4)
二、获取时间
1、获取当前时间
1.Date() 或者new Date() // Mon Feb 13 2017 15:46:34 GMT 0800 (中国标准时间) console.log(Date()) // Mon Feb 13 2017 15:46:34 GMT 0800 (中国标准时间) console.log(new Date()) 2.get系列方法,常用的是获取年/月/日/时/分/秒,获取当前时间要求日期对象为当前日期 getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 getMonth() 从 Date 对象返回月份 (0 ~ 11)。 getFullYear() 从 Date 对象以四位数字返回年份。注意不要使用getYear()。 getHours() 返回 Date 对象的小时 (0 ~ 23)。 getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。 getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。 getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 var date = new Date() var year = date.getFullYear() // 2017年 console.log(year '年')
2、获取固定的时间
(1)new Date("2012/12/12");
(2)set系列方法,常用的是设置年/月/日/时/分/秒
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。 setMonth() 设置 Date 对象中月份 (0 ~ 11)。 setFullYear() 设置 Date 对象中的年份(四位数字)。注意不要使用setYear()方法。 setHours() 设置 Date 对象中的小时 (0 ~ 23)。 setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。 setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。 setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。 var date = new Date('2016/2/13')// Sat Feb 13 2016 00:00:00 GMT 0800 (中国标准时间) console.log(date) var date1 = new Date() date1.setFullYear('2016') // Sat Feb 13 2016 17:55:22 GMT 0800 (中国标准时间) console.log(date1)
3.通过固定的时间戳获取固定的时间
setTime() 以毫秒设置 Date 对象。
var date1 = new Date() date1.setTime(1486915200000) // Mon Feb 13 2017 00:00:00 GMT 0800 (中国标准时间) console.log(date1)
4、获取本地时间格式
toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 var date2 = new Date() // 2017/2/13 下午5:30:17 console.log(date2.toLocaleString()) // 下午5:30:17 console.log(date2.toLocaleTimeString()) // 2017/2/13 console.log(date2.toLocaleDateString())
三、获取时间戳
1、获取当前时间戳
Date.now()、 new Date()、Date.parse(new Date())、new Date().getTime() var date1 = Date.now() var date2 = new Date() var date3 = Date.parse(new Date()) var date4 = new Date().getTime() // 1486977645739 console.log(date1) // 1486977645739 console.log(date2) // 1486977645000 console.log(date3) // 1486977645739 console.log(date4)
从上面输出结果可以看到Date.parse()与其他不同,有点奇葩
2、获取固定时间戳
Date.parse(new Date())、new Date().getTime() var date2 = new Date('2017/2/13') var date3 = Date.parse(new Date('2017/2/13')) var date4 = new Date('2017/2/13').getTime() // 1486915200000 console.log(date2) // 1486915200000 console.log(date3) // 1486915200000 console.log(date4)
四、开发应用场景
1、自定义格式日期,如2015年3月19日 12:00:00这种格式
var date = new Date(); // 2017年02月13日 18:29:39 console.log(formatDateTime(date)) function formatDateTime(date) { var y = date.getFullYear(); var m = date.getMonth() 1; m = m |