JS中时间Date的用法

有时候前端页面中需要获取到某些特定的时间,而且并不一定是固定的,如果从后台传递过来的话,会显得有一点杀鸡用牛刀到感觉。其实这个时候用 JS 进行处理时间是很简便的。

获取时间

var myDate = new Date();//获取系统当前时间

获取特定格式的时间

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
myDate.getYear(); //获取当前年份(2位)

myDate.getFullYear(); //获取完整的年份(4位,1970-????)

myDate.getMonth(); //获取当前月份(0-11,0代表1月)

myDate.getDate(); //获取当前日(1-31)

myDate.getDay(); //获取当前星期X(0-6,0代表星期天)

myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)

myDate.getHours(); //获取当前小时数(0-23)

myDate.getMinutes(); //获取当前分钟数(0-59)

myDate.getSeconds(); //获取当前秒数(0-59)

myDate.getMilliseconds(); //获取当前毫秒数(0-999)

myDate.toLocaleDateString(); //获取当前日期

var mytime=myDate.toLocaleTimeString(); //获取当前时间

myDate.toLocaleString( ); //获取日期与时间

JS获取当前时间戳的方法

  • var timestamp =Date.parse(new Date());

    得到的结果:1280977330000 注意:这里得到的结果将后三位(毫秒)转换成了000显示,使用时可能会出现问题。例如动态添加页面元素id的时候,不建议使用。

  • var timestamp =(new Date()).valueOf();

    结果:1280977330748

  • var timestamp=new Date().getTime();

    结果:1280977330748

时间格式

在js中传递的时间是字符串,如果需要获取特定非格式的时间,需要先将其转换成Date。

new Date(Date.parse(value))

value 表示需要转换的时间,可以是字符串,如:2018-11-14,转换之后就是一个完整的时间对象

注意

js中单独调用new Date(),例如document.write(new Date());

显示的结果是:Mar 31 10:10:43 UTC+0800 2012 这种格式的时间

但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数