JS中Date()和New Date()的区别
最近用日期控件用的比较多,所以说一说Date() 和New Date()之间的区别:
var
c
1=Date();
//返回一个字符串(string),没有getDate等日期对象方法,内容为当前时间
var
c2=
new
Date();
//返回一日期对象,可以调用getDate(),内容为当前时间
var
c
3=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));可以计算两个日期之间的天数。