JS使用Date对象来处理日期和时间
五种调用Date函数的方式
Date()
单纯的作为函数调用,传入的参数会被忽略,返回当前日期和时间的字符串表示。
new Date()
作为构造函数调用。
返回当前日期和时间的Date对象。
new Date(Milliseconds)
作为构造函数调用,并且传入一个数字,该数字被当作从1970年1月1日经过的毫秒数。
返回Date对象。
new Date(string)
以字符形式储存的日期和时间。
返回Date对象。
new Date(year,month,[day,hours,minutes,seconds,ms])
多个参数,分别指定日期和时间的各个部分,方括号中为可选项。
返回Date对象。
Date构造函数的几个属性
Date.now()
返回从1970年1月1日到现在经过的毫秒数
Date.parse()
接收一个字符串格式的日期和时间,返回从1970年1月1日到该时间所经过的毫秒数
Date.UTC()
返回UTC时间和日期的毫秒表示
Date对象的常用属性
getDay() 返回星期几
getFullYear() 返回完整的年份
getYear() ES3就已经废弃
getMonth() 返回月份
getDate() 月份中的日期值
getHours() 返回Date对象中的小时
getMinutes() 返回Date对象中的分钟
getSeconds() 返回Date对象中的秒
getMilliseconds() 返回Date对象中的毫秒
getTime() 返回Date对象的毫秒表示
如果把get换为set,代表设置Date对象中的某个值,如setTime(21312532),setFullYear(2011)
UTC扩展
以上方法在get后接UTC 代表处理全球时间,如getUTCYear,getUTCDate,同时set系列也
有UTC的变体,如setUTCFullYear(2011),要注意的是set系列的方法会修改调用它的对象。
其他方法
toString() 返回一个完整的日期和时间的字符串表示 "Mon Jul 10 2017 21:56:36 GMT+0800 (中国标准时间)"
toLocaleString() 返回一个完整日期和时间的本地化表示 "2017-7-10 21:56:32"
toDateString() 返回一个日期 "Mon Jul 10 2017"
toLocaleDateString() 返回一个日期的本地化表示 "2017-7-10"
toTimeString() 返回一个时间 "21:57:38 GMT+0800 (中国标准时间)"
toLocaleTimeString() 返回一个时间的本地化表示 "22:01:28"
一个特殊情况
当你这样调用new Date('dasdsa');
会发生什么?很明显传入的参数既不是一个毫秒数,也不是一个合法的字符串
这样调用,依然会返回一个date对象,不过该对象是invalid data,该对象具有正常Date对象的所有属性和方法
但是,返回值都为NaN
未完 待续~~~~~~