JavaScript中日期时间比较期间的问题

时间:2011-02-24 12:49:06

标签: javascript jsp

我有一个场景,我必须比较两个DateTime对象

启动DateTime和End DateTime

  1. EndDatetime应大于StartDateTime
  2. EndDateTime应大于CurrentTime
  3. 现在我正在尝试使用“>”在许多网站和博客中建议的简单代码或“<”符号。 例如:if((Date.parse(startdate))>(Date.parse(enddate))) {  alert(“请输入enddate大于startdate”); }

    如果DateTime在同一个月,这可以正常工作。即使在输入有效日期时间范围(例如开始日期时间为2011年2月20日,结束日期时间为2011年3月3日)之后,我仍然会高于警报,这实际上是错误的。

    任何人都可以帮忙,弄清楚什么是错的,或者任何能提供JS功能来比较两个DateTime对象的人。

    感谢。

1 个答案:

答案 0 :(得分:1)

您应该使用“.getTime()”来获取时间戳整数,然后比较它们。

if(Date.parse(startdate).getTime() > Date.parse(enddate).getTime())
{
  alert("Please enter enddate greater than startdate");
}

我的猜测是,当你尝试比较对象本身时,只会按字典顺序对它们的字符串表示进行比较(尽管不是100%肯定)。