我正在使用Javascript的Date.parse()
来检查开始时间是否在结束时间之后。
所涉及的时间格式如下:
Date.parse("12:00pm") > Date.parse("9:30pm")
在Chrome中,这会显示为false(正如应该的那样)
在IE中,它错误地显示为true。
Chrome看到的值是:
Thu Jul 22 2010 12:00:00 GMT-0400 (Eastern Daylight Time)
Thu Jul 22 2010 21:30:00 GMT-0400 (Eastern Daylight Time)
IE所看到的值是:
Thu Jul 22 12:00:00 EDT 2010
Thu Jul 22 09:30:00 EDT 2010
我该如何使IE正常工作?
更新
好的,这只发生在IE7中。此外,我现在看到IE7没有获取存储在SELECT框中并通过以下方式检索的am / pm:
var startMerid = document.getElementById("start_time_ampm").options[document.getElementById("start_time_ampm").selectedIndex].value;
我的选择是这样的:
<option>am</option>
但我改为:
<option value="am">am</option>
现在它可以正常工作了。
Date.parse()
会得到NaN
,这是我在旧版本中预期的结果,因为Date.parse()
在IE中的工作方式。当然,NaN > NaN
将始终为false。 - Andy Edocument.getElementById("start_time_ampm").value
就足够了,不需要获取selectedIndex
。 - Andy E