js 时间如何比较?

2017-07-25 15:34:44 +08:00
 imherer
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

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

3219 次点击
所在节点    Node.js
23 条回复
linus3389
2017-07-25 15:37:39 +08:00
时间戳....
invoke
2017-07-25 15:38:32 +08:00
用时间戳比啊。。
scriptB0y
2017-07-25 15:40:42 +08:00
时间肯定是用时间戳比较的,用 str 不科学。

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

+t1 == +t2
kimown
2017-07-25 18:52:53 +08:00
别自己写重复代码,直接 moment 库
maomaomao001
2017-07-25 19:03:25 +08:00
用 momentjs 处理时间比较好
alexgor
2017-07-25 19:36:03 +08:00
帖子背景怎么弄的
klesh
2017-07-25 19:51:30 +08:00
momentjs
bombless
2017-07-25 19:51:47 +08:00
nodejs 节点专用主题
awesomes
2017-07-25 20:01:19 +08:00
aleen42
2017-07-25 20:23:28 +08:00
t1.valueOf() === t2.valueOf()
autoxbc
2017-07-26 02:45:14 +08:00
别听他们的,就这么比
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
2017-07-26 07:14:15 +08:00
t1.getTime() == t2.getTime()
daisyxdx
2017-07-26 11:46:06 +08:00
支持 18 楼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/377836

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX