【问题标题】:How to compare time in JS如何在JS中比较时间
【发布时间】:2016-06-12 08:14:57
【问题描述】:

如何将JS中的两个变量与以下格式的时间字符串进行比较

Mon, 29 Feb 2016 09:09:53 GMT
Thu, 21 Jan 2016 05:08:46 GMT

只需执行 x > y 就可以了???或者我需要转换成其他格式吗..

strtotime()

上述函数在 php 中可用,它将将该格式解析为 Unix 时间戳(自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数)。

在 JS 中是否有任何功能可以做同样的事情??

【问题讨论】:

  • 您可以使用小于或大于运算符,但不能使用相等new Date() === new Date() // false

标签: javascript time format comparison


【解决方案1】:
 Date.parse('Mon, 29 Feb 2016 09:09:53 GMT') > Date.parse('Thu, 21 Jan 2016 05:08:46 GMT')

是的

【讨论】:

    【解决方案2】:

    在 Javascript 中,你应该比较 Date 对象:

    var foo = new Date("Mon, 29 Feb 2016 09:09:53 GMT");
    var bar = new Date("Thu, 21 Jan 2016 05:08:46 GMT");
    
    if(foo > bar) { ... }
    

    有多种方法可以创建 Date 对象的实例。你可以阅读更多关于它的信息on MDN

    将时间字符串存储在变量中:

    var foo = "Mon, 29 Feb 2016 09:09:53 GMT";
    var bar = new Date(foo);
    

    【讨论】:

    • 是否可以给一个变量作为上述方法的参数??
    • 这取决于你的意思。我对时间值进行了硬编码,但您始终可以为该字符串设置一个变量并将其传递给 Date 对象。我用一个例子编辑了我的原始评论。
    【解决方案3】:

    我明白了。
    getTime() 返回自 1970 年 1 月 1 日以来的毫秒数:

    <script>
    var d = new Date();
    var time = d.getTime();
    </script> 
    

    【讨论】:

      猜你喜欢
      • 2020-12-10
      • 2014-05-01
      • 2013-10-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多