日期:2014-05-17  浏览次数:20399 次

js new Date().getTime()出问题了。
a='2012-5-31 15:35:00'
b='2012-6-1 11:41:00'

var a= new Date(theYear,theMonth,theDay,theHour,theMinute).getTime(); //选择的时间
var b= new Date(Year,Month,Day,Hour,Minute).getTime(); //现在的时间


为啥 a 的值 会大于b???

------解决方案--------------------
js中Date对象的Month数值是要比真实数值小1的,这一点用js的时间函数时一定要注意。你alert(new Date(2012,6,1))看到的是jul,而不是jun。
用b='2012-6-1 11:41:00'构造的实际是7月1日的11:41对象。
而用a='2012-5-31 15:35:00',因为6月没有31号,所以系统认为是7月1日。这样构造出来的对象就是7月1日15:35,所以你看到a>b。
构造时间对象时要把month-1
------解决方案--------------------
js里面的月份是
0,1,...11
没有12
是以0开始为1月,
11代表12月,
就是这么定义的,你不要想当然5就是5月