JS中Date()和New Date()的区别

JS中Date()和New Date()的区别

最近用日期控件用的比较多,所以说一说Date() 和New Date()之间的区别:

var c1=Date();       //返回一个字符串(string),没有getDate等日期对象方法,内容为当前时间
var  c2=new Date();    //返回一日期对象,可以调用getDate(),内容为当前时间
var c3=Date("2017-1-1");//返回一个字符串(string),内容仍旧为当前时间,也就是不受参数影响
var c4=new Date("2017-1-1");//返回一日期对象,可以调用getDate(),内容为2017年元旦


js中new Date(string)在IE不兼容报错:显示NaN,chrome没问题

new Date(string)在IE不兼容报错:显示NaN,chrome没问题

解决方案:将-替换成/

var beginDate = $(this).find(".adTimeStart").val();

var sdate = new Date(Date.parse(beginDate.replace(/-/g,"/")));

=================================================

在chrome中使用,使用

new Date("20xx-xx-xx 00:00:00")

显示正常,但在IE中显示NaN,如果使用

new Date("20xx/xx/xx 00:00:00")

则可以解决兼容问题(chrome,IE,firefox,opera均测试正常)。

另:var days = parseInt((cur.getTime() - up.getTime()) / (24 * 60 * 60 * 1000));可以计算两个日期之间的天数。