Jquery 如何比较时间戳

Jquery 如何比较时间戳,jquery,timestamp,Jquery,Timestamp,我在这个论坛上看到了一些关于用jQuery转换时间戳的简单帖子。 但我还没有找到一个能解决我问题的方法 我正在与Jquery Mobile一起开发一个Web应用程序。 在这个webapp中,我显示了一些twitter提要:图片来源和消息来源。现在我也在试着把日期写进去 Wehn从json中检索日期,如下所示: Tue, 05 Jun 2012 13:25:06 +0000 现在我想将这个日期与当前日期进行比较,以计算过去的时间。 这是因为我想说:1秒前,2分钟前,1小时前等等 有人能告诉我如何

我在这个论坛上看到了一些关于用jQuery转换时间戳的简单帖子。 但我还没有找到一个能解决我问题的方法

我正在与Jquery Mobile一起开发一个Web应用程序。 在这个webapp中,我显示了一些twitter提要:图片来源和消息来源。现在我也在试着把日期写进去

Wehn从json中检索日期,如下所示:

Tue, 05 Jun 2012 13:25:06 +0000
现在我想将这个日期与当前日期进行比较,以计算过去的时间。 这是因为我想说:1秒前,2分钟前,1小时前等等

有人能告诉我如何比较当前日期和twitter日期吗

var twitterDate = new Date("Tue, 05 Jun 2012 13:25:06 +0000").getTime(),
    now = new Date().getTime();

if (twitterDate > now) {
    alert('Future')
} else {
    alert('Past');
}

getTime方法返回的值是毫秒数 自1970年1月1日起,协调世界时00:00:00

阅读有关

要获得日期差异,您可以使用以下方法:

function getDateDiff(twitterDate, interval) { // interval means unit,
    // in which you want the result
    var second = 1000,
        minute = second * 60,
        hour = minute * 60,
        day = hour * 24,
        week = day * 7;
    date1 = new Date(twitterDate).getTime();
    date2 = new Date().getTime();
    var timediff = date2 - date1;
    if (isNaN(timediff)) return NaN;
    switch (interval) {
    case "years":
        return date2.getFullYear() - date1.getFullYear() + ' years ago.';
    case "months":
        return ((date2.getFullYear() * 12 + date2.getMonth()) - (date1.getFullYear() * 12 + date1.getMonth())) + ' months ago.';
    case "weeks":
        return Math.floor(timediff / week) + ' weeks ago.';
    case "days":
        return Math.floor(timediff / day) + ' days ago.';
    case "hours":
        return Math.floor(timediff / hour) + ' hours ago.';
    case "minutes":
        return Math.floor(timediff / minute) + ' minutes ago.';
    case "seconds":
        return Math.floor(timediff / second) + ' seconds ago.';
    default:
        return undefined;
    }
}
使用:


您可以像这样比较javascript中的时间戳

var input_date = new Date('Tue, 05 Jun 2012 13:25:06 +0000').getTime();
var curr_date = new Date().getTime();
if(input_date > curr_date){
  alert("greater");    
}else{
  alert('small');
}
这是你的电话号码


​但根据您的要求,您希望显示“1分钟前”、“1小时前”、“2天前”等时间,您可以使用jquery timeago插件来代替javascrpt计算。请看,它会满足您的需要。

首先谢谢您,我的电脑几乎可以正常工作了,但还有一个问题。当我试着把它放在箱子开关里时,我似乎无法让它工作。im使用case开关确定显示消息的时间。1分钟前etc+1不要仅仅为了它而重新制作一些东西,尤其是当它已经完成的时候。如果整个插件对于你的需求来说是多余的,那么就把它的相关部分去掉,并把它集成到你自己的东西中。通常情况下,在开源项目中会有一些边缘案例,否则您可能会错过这些案例。
var input_date = new Date('Tue, 05 Jun 2012 13:25:06 +0000').getTime();
var curr_date = new Date().getTime();
if(input_date > curr_date){
  alert("greater");    
}else{
  alert('small');
}