javascript中的多日期比较

javascript中的多日期比较,javascript,date,validation,Javascript,Date,Validation,我正在尝试验证、获取和比较两个日期 日期来自2个文本输入,当前格式如下所示:17/01/2011 00:00 如何使用date对象将该字符串转换为日期 我试图根据以下条款对其进行验证: 日期必须采用正确的格式(17/01/2011 00:00) 日期必须在将来(考虑到JS在本地运行,并且用户机器上的日期设置可能不正确,我该怎么做 第一个日期必须早于第二个日期。(这是from_date->to_date输入) 你能帮忙吗 谢谢,至于格式验证,您可以使用正则表达式进行验证 要获取当前时间,您需要从服

我正在尝试验证、获取和比较两个日期

日期来自2个文本输入,当前格式如下所示:
17/01/2011 00:00

如何使用date对象将该字符串转换为日期

我试图根据以下条款对其进行验证:

  • 日期必须采用正确的格式(
    17/01/2011 00:00
  • 日期必须在将来(考虑到JS在本地运行,并且用户机器上的日期设置可能不正确,我该怎么做
  • 第一个日期必须早于第二个日期。(这是from_date->to_date输入)
  • 你能帮忙吗


    谢谢,

    至于格式验证,您可以使用正则表达式进行验证

    要获取当前时间,您需要从服务器请求数据。其中一个选项是用户使用支持语言(php、java等)获取网页的选项。另一个选项是通过http请求从时间服务器请求时间。答案可能是简单文本或XML,或者您可能需要与其他协议(如SOAP)通信


    要比较这两个日期,您可以将它们转换为毫秒,然后只需比较值。JavaScript对象日期也有助于转换和比较。

    稍微不同的方法

  • 如果还不算太晚,可以通过提供日期/时间选择控件来强制日期的有效性,该控件将以所需的格式输出日期(应该有很多,请参见或。通过这种方式,您不必依赖用户在文本框中输入日期,他们可以在文本框中输入他们想要的任何内容。如果不可能,您可以尝试查看输入屏蔽,这可能有助于用户以文本框格式更准确地输入日期,例如,请参见:甚至可以允许您输入字符串,如“今天”、“两周后”等。这将提高表单的可用性

  • 为此,您可能需要在服务器端重新验证日期。最好在客户端和服务器端重复检查用户输入。但对于客户端验证,您可以尝试我上面提到的datejs库,或者根据Stefanos的建议创建一个

  • 已经在#2中回答了这个问题


  • 希望能有所帮助。

    如果不知道时区,就不能操纵时间和日期


    如果日期的字符串表示不包括GMT偏移量,则您必须猜测时区,除非您添加了一条规则来解释它,或者只希望日期在一天之内或更准确。

    我假设
    17/01/2011 00:00
    表示
    天/月/年小时:分钟
    ,并且小时是24小时格式(00-23)否则,没有上午/下午,就无法知道实际时间。对吗?