Date类型
Posted qingshanyici
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Date类型相关的知识,希望对你有一定的参考价值。
一、时间简介
Date类型使用UTC类型,开始于1970年1月1日零点,并以毫秒为最小单位进行保存。
生成时间当前的方法:
var date=new Date(); console.log(date,typeof date)//Sat Jun 08 2019 19:17:41 GMT+0800 (GMT+08:00) ,object
生成的时间类型是一个对象。这不过这个对象时date类型的。好像还没有方法检验出来他是一个date类型的对象。
-
生成特定时间的方法是往里面传送一个字符串:
var date=new Date("1993-12-16"); console.log(date,typeof date)//Thu Dec 16 1993 08:00:00 GMT+0800 (GMT+08:00) ,object
虽然这种方法课本上并没有提到过,但是的确是可以生成的。但是注意,不同的浏览器生成的值是不一样的,而且iso系统采用8061时间方法制,传入的字符串如果精确到毫秒,如果不按照iso的方式来,是没有办法生成时间的。
二、生成时间的方法
生成时间的方式严谨来讲有两种,分别是Date.parse()和Date.UTC()。
Date.parse():
该方法接受一个字符串,就像上面提到的一样。但是ES没有规定该方法应该支持哪种类型,因此生成的时间格式因各个浏览器而异。
var date=new Date(Date.parse("1993-12-16 17:00:04")); console.log(date)//Thu Dec 16 1993 17:00:04 GMT+0800 (GMT+08:00)
-
Date.UTC():
这个方法很有趣,他接受的参数分别是年分、基于0的月份(0-11)、基于0的天数(0-30)、基于0的小时数(0-23)、分钟、秒、毫秒数。这些参数中,只有年分和月份是必填的,如果省略其它项,则统统假设为开始的那一瞬间。
PS:1秒=1000毫秒
var date=new Date(Date.UTC(1993,12,16,17,0,23,16)); console.log(date)//Mon Jan 17 1994 01:00:23 GMT+0800 (GMT+08:00)
上面这段代码并没有生成我想要的日期,是因为月份是基于0开始的。所以,输入“12”月份会加一。
-
var date=new Date(Date.UTC(1993,2,31,17,0,23,16)); console.log(date)//Thu Apr 01 1993 01:00:23 GMT+0800 (GMT+08:00)
而这段代码,由于2月没有31天,所以生成的时间也不对,而且月份相当于多加了两个月。如果月份输入的是“30”,得到的结果会是3月30号。所以用这个方法生成时间,一定要慎重。
三、日期格式
有两种常见方法,对生成时间的格式进行调整。toDateString()和toTimeString().
var date=new Date(Date.UTC(1993,11,15,17,0,23)); var date1=date.toDateString("YYYY-MM-DD"); console.log(date1)//Thu Dec 16 1993 var time=date.toTimeString(); console.log(time)//01:00:23 GMT+0800 (GMT+08:00)
这种格式转换的方法并没有没有得到我想要的格式,而且这个日期的时间我还能接受,只是这个time的值,我实在想不明白他是怎么得到的。
四、获取时间值的方法
常见的取得时间特定部分方法,有以下几种:
getTime():获取时间戳
var date=new Date("1993-12-16 17:00:04:621"); console.log(date.getTime())//756032404621
getFullYear():获取4位数的年分
var date=new Date("1993-12-16 17:00:04:621"); console.log(date.getFullYear())//1993
getMonth():获取该日期的月份,返回的值为0-11
var date=new Date("1993-12-16 17:00:04:621"); console.log(date.getMonth())//11
还有的方法如:
getDate():获取该日期月份中的天数
getDay():获取该日期中的星期几,0表示星期天,6表示星期六
……
以上是关于Date类型的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段