2017-09-14 70 views
1

新手在这里,所以请亲切。用Javascript说,我有2个时间戳表示为字符串,2017-09-14 11:49:06.277(已创建)和2017-09-14 11:49:06.978(已修改)。试图做一个比较,如果创建的时间与修改时间相同,做一件事,否则做一件不同的事情。如何比较从年份,月份,日期等等开始的字符串?Javascript字符串比较不完全等于

+1

为什么你不只是删除一切以'.'和比较的结果? – Barmar

+2

你有什么尝试? – j08691

+0

转换为日期并执行数学运算.... – epascarello

回答

2

比较它们作为毫秒从1970年可能:

if(Math.abs(new Date(a) - new Date(b)) < 1000 /*ms = 1s */) alert("a and b occured in the same second"); 

(最多一秒之差)

或基于@barmans想法:

if(a.split(".")[0] === b.split(".")[0]) alert("a and b occured in the same second"); 

(同一秒)

两个代码需要一个b被定义e.g:

const 
    a = "2017-09-14 11:49:06.277", 
    b = "2017-09-14 11:49:06.978"; 
+1

这将把'11:49:06.999'为同一秒为'11:49:07:001'。 – Barmar

+0

@Barmar OP在这一点上是模糊的 – Alnitak

+0

他说他想比较每个组件从年份到下一次。这听起来像他只是想忽略这个分数。 – Barmar