通过日期对象我们可以进行一些对日期时间的操作处理
一、日期对象的创建:
var myDate=new Date()
二、Date对象方法:
Link:http://www.w3school.com.cn/jsref/jsref_obj_date.asp
三、封装函数,打印当前是何年何月何日何时,几分几秒
Date() 返回当日的日期和时间
getFullYear() 从 Date 对象以四位数字返回年份
getMonth() 从 Date 对象返回月份 (0 ~ 11)
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getHours() 返回 Date 对象的小时 (0 ~ 23)
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)
var newDate = new Date(); var str = newDate.getFullYear() + '年' + (newDate.getMonth() + 1) + '月' + newDate.getDate() + '日' + newDate.getHours() + '时' + newDate.getMinutes() + '分' + newDate.getSeconds() + '秒'; console.log(str);
四、Date构造函数的三个静态函数
1、Date.UTC(), 该方法接受的参数同日期构造函数接受最多参数时一样,返回从1970-1-1 00:00:00 UTC到指定日期的的毫秒数。
(1)、语法: Date.UTC(year,month[,date[,hrs[,min[,sec[,ms]]]]])
(2)、参数:
year
1900 年后的某一年份。
month
0 到 11 之间的一个整数,表示月份。
date
1 到 31 之间的一个整数,表示某月当中的第几天。
hrs
0 到 23 之间的一个整数,表示小时。
min
0 到 59 之间的一个整数,表示分钟。
sec
0 到 59 之间的一个整数,表示秒。
ms
0 到 999 之间的一个整数,表示微秒。
(3)、注意:
你应该指定一个完整格式的年份,如 1998。如果年份被指定为 0 到 99 之间,则该方法会将年份转换为 20 世纪的一个年份(即 1990 + year),例如,指定为 95, 则年份为 1995。
*2、Date.now(), 该方法返回自1970年1月1日 00:00:00 UTC到当前时间的毫秒数。(相当于new Date().getTime())
(1)、因为 now() 是Date()的一个静态函数,所以必须以 Date.now() 的形式来使用。
(2)、应用:
我们可以用此方法和减法运算,来计算一段js代码运行时间,从而来处理一些问题
(3)和 new Date().getTime() 相比的优点
不同申请多个Date实例对象,在(2)的应用中可以直接调该方法,而不用申请两个甚至多个Date实例对象来进行运算,耗时更少,产生垃圾更少,在V8引擎中s垃圾回收,比较两种方法,Date.now()产生垃圾更少。
3、Date.parse(), 改方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。
(1)、语法:
显示调用: Date.parse(dateString)
隐式调用: new Date(dateString)
(2)、参数:
dataString: 一个符合 RFC2822 或 ISO 8601 日期格式的字符串(其他格式也许也支持,但结果可能与预期不符)。
(3)、建议:
不推荐在ES5之前使用Date.parse方法,因为字符串的解析完全取决于实现。直到至今,不同宿主在如何解析日期字符串上仍存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助)。
参考来源:
MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date/parse
W3C: http://www.w3school.com.cn/jsref/jsref_obj_date.asp
-----------------------------------------------------------------------------------end