V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
imherer
V2EX  ›  Node.js

js 时间如何比较?

  •  
  •   imherer · Jul 25, 2017 · 4113 views
    This topic created in 3198 days ago, the information mentioned may be changed or developed.
    var t1 = new Date('2017-01-01 23:23'),
        t2 = new Date('2017-01-01 23:23');
    	  
    t1 == t2 // false
    t1 === t2 //false
    t1 > t2 // false
    t1 < t2 //false
    t1 >= t2 // true
    t1 <= t2 //true
    

    各位时间一般都怎么比较的,换成时间戳比的吗? 能直接用字符串形式的时间去比较吗?

    23 replies    2017-07-27 13:28:50 +08:00
    linus3389
        1
    linus3389  
       Jul 25, 2017   ❤️ 1
    时间戳....
    invoke
        2
    invoke  
       Jul 25, 2017   ❤️ 1
    用时间戳比啊。。
    scriptB0y
        3
    scriptB0y  
       Jul 25, 2017   ❤️ 1
    时间肯定是用时间戳比较的,用 str 不科学。

    2017-07-25T07:39:35.488928+00:00
    2017-07-25T06:39:35.488928+08:00
    你告诉我哪个早
    Famio
        4
    Famio  
       Jul 25, 2017
    不止 js 用时间戳比时间,计算时间,我想大部分语言都是把时间转成时间戳来计算的。
    imherer
        5
    imherer  
    OP
       Jul 25, 2017
    @Famio
    zhangbohun
        6
    zhangbohun  
       Jul 25, 2017 via Android
    用毫秒比
    wly19960911
        7
    wly19960911  
       Jul 25, 2017 via Android
    我吐槽下,你拿 date 对象比较,能比较出什么呢 hhh 内存地址吗
    ntupc
        8
    ntupc  
       Jul 25, 2017
    对象的比较毫无意义
    stantbyme
        9
    stantbyme  
       Jul 25, 2017
    对比时间戳吧 可以试试 momentjs
    laobubu
        10
    laobubu  
       Jul 25, 2017
    在 t1 和 t2 前面加一个 + ,转化成时间戳再比较。

    +t1 == +t2
    kimown
        11
    kimown  
       Jul 25, 2017 via Android
    别自己写重复代码,直接 moment 库
    maomaomao001
        12
    maomaomao001  
       Jul 25, 2017 via Android
    用 momentjs 处理时间比较好
    alexgor
        13
    alexgor  
       Jul 25, 2017 via Android
    帖子背景怎么弄的
    klesh
        14
    klesh  
       Jul 25, 2017 via Android
    momentjs
    bombless
        15
    bombless  
       Jul 25, 2017 via Android
    nodejs 节点专用主题
    aleen42
        17
    aleen42  
       Jul 25, 2017
    t1.valueOf() === t2.valueOf()
    autoxbc
        18
    autoxbc  
       Jul 26, 2017
    别听他们的,就这么比
    t1 - t2 == 0
    // true

    var t1 = new Date('2017-01-01 23:24');
    var t2 = new Date('2017-01-01 23:23');
    t1 - t2 > 0
    // true
    wanderingwi
        19
    wanderingwi  
       Jul 26, 2017
    t1.getTime() == t2.getTime()
    daisyxdx
        20
    daisyxdx  
       Jul 26, 2017
    支持 18 楼
    daisyxdx
        21
    daisyxdx  
       Jul 26, 2017
    但是格式不对
    ryanzyy
        22
    ryanzyy  
       Jul 26, 2017
    moment.js
    yimity
        23
    yimity  
       Jul 27, 2017 via Android
    @scriptB0y 一般没人会这么搞吧,都是一个时区来的啊。字符串直接就可以,但是对象不行。毫秒上上之选
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1016 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 130ms · UTC 19:06 · PVG 03:06 · LAX 12:06 · JFK 15:06
    ♥ Do have faith in what you're doing.