imherer
V2EX  ›  Node.js

js 时间如何比较?

  •  
  •   imherer · Jul 25, 2017 · 4599 views
    This topic created in 3395 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
    linus3389
    Jul 25, 2017❤️1
    1
    时间戳....
    invoke
    invoke
    Jul 25, 2017❤️1
    2
    用时间戳比啊。。
    scriptB0y
    scriptB0y
    Jul 25, 2017❤️1
    3
    时间肯定是用时间戳比较的,用 str 不科学。

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

    +t1 == +t2
    kimown
    kimown
    Jul 25, 2017 via Android
    11
    别自己写重复代码,直接 moment 库
    maomaomao001
    maomaomao001
    Jul 25, 2017 via Android
    12
    用 momentjs 处理时间比较好
    alexgor
    alexgor
    Jul 25, 2017 via Android
    13
    帖子背景怎么弄的
    klesh
    klesh
    Jul 25, 2017 via Android
    14
    momentjs
    bombless
    bombless
    Jul 25, 2017 via Android
    15
    nodejs 节点专用主题
    aleen42
    aleen42
    Jul 25, 2017
    17
    t1.valueOf() === t2.valueOf()
    autoxbc
    autoxbc
    Jul 26, 2017
    18
    别听他们的,就这么比
    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
    wanderingwi
    Jul 26, 2017
    19
    t1.getTime() == t2.getTime()
    daisyxdx
    daisyxdx
    Jul 26, 2017
    20
    支持 18 楼
    daisyxdx
    daisyxdx
    Jul 26, 2017
    21
    但是格式不对
    ryanzyy
    ryanzyy
    Jul 26, 2017
    22
    moment.js
    yimity
    yimity
    Jul 27, 2017 via Android
    23
    @scriptB0y 一般没人会这么搞吧,都是一个时区来的啊。字符串直接就可以,但是对象不行。毫秒上上之选
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1100 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 18:25 · PVG 02:25 · LAX 10:25 · JFK 13:25
    ♥ Do have faith in what you're doing.