比较时间戳

问题描述:

如果两个时间戳都在mysql 2013-03-21 18:16:50格式?比较时间戳

$.get('current.php', { lastTime: time, current: true, Cla: Class }, function(html) { 
       var Date1 = Date.parse($(html).find("#timestamp").val()); 
       var Date2 = Date.parse($("#timestamp").val()); 
       if (Date.parse(Date1) < Date.parse(Date2)) {$(html).find("#timestamp").remove();}else {$("#timestamp").remove();} 
} 
+0

它会工作吗?...你尝试过吗? – Mike 2013-03-21 20:26:26

+0

只是做了,它不起作用,我非常感谢修复。 – user2191209 2013-03-21 20:28:19

+0

你知道'val()'只能用于''元素吗? – Bergi 2013-03-21 20:36:27

您的通话值两次Date.parse,并且Date.parse不接受由以前的调用为有效的日期返回的毫秒数。

if (Date1 < Date2) 

就足以比较它们。请注意,如果其中任何一个都无法解析,则您将与NaN进行比较。

+0

我似乎无法从html中删除元素,谢谢指出。 – user2191209 2013-03-21 20:36:16

+0

这是一个不同的问题,因为'html'只是一个字符串,每次调用'$(html)'时都会被解析,'remove()'不会改变HTML字符串。 – Bergi 2013-03-21 20:38:00

+0

如何从该字符串中删除元素? – user2191209 2013-03-21 20:39:34

Date.parse以毫秒为单位的返回时间,您可以将其用于比较。

if (Date1 < Date2) { 
      $(html).find("#timestamp").remove(); 
    }else { 
     $("#timestamp").remove(); 
    } 
+0

'Date1'和'Date2'都不是'Date'实例,这个代码甚至会抛出 – Bergi 2013-03-21 20:35:08

+0

@Bergi,感谢您指出错误 – Anoop 2013-03-21 20:39:36

我想你想是这样的:

$.get('current.php', { lastTime: time, current: true, Cla: Class }, function(html) { 
    var $dateInput1 = $(html).find('#timestamp'), 
     $dateInput2 = $("#timestamp"); 
    if ($dateInput1.val() < $dateInput1.val()) { 
    $dateInput1.remove(); 
    } else { 
    $dateInput2.remove(); 
    } 
    // ... add $html somewhere to the DOM ... 
}); 

由于您的日期已经在一个格式,媲美词汇,它不需要使用Date.parse()可言。另外,你只需要为每个元素创建一个jQuery对象,所以它的效率也更高。