JS Date对象获取系统当前时间

发布时间:2019-10-28编辑:脚本学堂
本文介绍下,js date对象获取系统的当前时间的方法,有需要的朋友参考下。

本节内容:
JS之Date对象和获取系统当前时间。
 
一、js Date对象
js中Date对象,定义:
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(year, month, date[, hours[, minutes[, seconds[,ms]]]])
必选项。如果是数字值,dateVal 表示指定日期与 1970 年 1 月 1 日午夜间全球标准时间的毫秒数。如果是字符串,则 dateVal 按照 parse 方法中的规则进行解析。dateVal 参数也可以是从某些 ActiveX? 对象返回的 VT_DATE 值。 必选项。完整的年份,比如,1976(而不是 76)。 必选项。表示的月份,是从 0 到 11 之间的整数( 1 月至 12 月)。 必选项。表示日期,是从 1 到 31 之间的整数。 可选项。表示毫秒,是从 0 到 999 的整数。

Date 对象保存以毫秒为单位表示特定时间段。如果某个参数的值大于其范围或为负数,则存储的其他值将做相应的调整。例如,如果指定 150 秒,JScript 将该数字重新定义为 2 分 30 秒。

如果数字为 NaN,则该对象不代表特定的时间段。如果未向 Date 对象传递参数,它将被初始化为当前时间 (UTC)。在能够使用该对象前必须为其赋值。
Date 对象能够表示的日期范围约等于 1970 年 1 月 1 日前后各 285,616 年。

Date 对象具有两个不创建 Date 对象就可以调用的静态方法。它们是 parse 和 UTC。
Date对象的方法很多,也很简单在这里就不列出了,OK,See Next!

特别注意:
 

复制代码 代码示例:
var myDate = new Date(2006,11,23);
alert("year="+myDate.getYear()+"******month="+myDate.getMonth()+"********day="+myDate.getDate());

运行之后的结果是 year=2006 ******month=11********day=23

这样显示都很正常,当new Date的时候传进去的月份为12的时候,就出现的问题。
 

复制代码 代码示例:
var myDate = new Date(2006,12,23);
alert("year="+myDate.getYear()+"******month="+myDate.getMonth()+"********day="+myDate.getDate());

运行之后的结果是 year=2007 ******month=0********day=23
很纳闷的一件事情。

最后,查资料得知month这个参数的值是0~11的,不能传入12的这个值。

解决办法:
在传值的时候把month-1,然后在外面取的时候再+1。不知谁还有更好的办法。
例如:
 

复制代码 代码示例:
var date=new Date(2010,0-1,15); //这里0代表一月份,减1就变成12月份了
 alert(date.getYear()+","+(date.getMonth()+1)+","+date.getDate());
var date=new Date(2010,12-1,15);
 alert(date.getYear()+","+(date.getMonth()+1)+","+date.getDate());

参数是字符串的格式如:2010/1/6
例子:
 

复制代码 代码示例:
var txtDepartureDate='2010-1-6'
alert(txtDepartureDate.replace(/-/g,'/')); //使用正则将'-'全部替换成/
var date = new Date(txtDepartureDate.replace(/-/g,'/'));