有一个字符串格式的时间是这样的:Fri Jun 24 19:47:14 +0800 2011
我要转成:今天,昨天,前天,和再往前的直接21/7/2011 19:47:14
怎么转???用js的,不懂得用js处理它这种时间格式

解决方案 »

  1.   

    就是新浪那个json数据上的时间啊created_at              {
                        "to_user_id":1728647563,
                        "to_user":"kiroro恋",
                        "text":"喜欢坐在你的车里听王若琳的歌",
                        "id":4192745203,
                        "from_user_id":1728647563,
                        "from_user":"kiroro恋",
                        "iso_language_code":"nl",
                        "source":"<a href=\"http://t.sina.com.cn\" rel=\"nofollow\">新浪微博</a>",
                        "profile_image_url":"http://tp4.sinaimg.cn/1728647563/50/1289280876/0",
                        "created_at":"Thu Dec 09 13:57:20 +0800 2010"
                    },
      

  2.   

    var str = 'Fri Jun 24 19:47:14 +0800 2011';
    var dt = new Date();
    dt.setTime(Date.parse(str))
    var y = dt.getFullYear();
    var m = dt.getMonth();
    var d = dt.getDate();
    var d1 = new Date(dt);
    d1.setDate(d-1)//昨天
    这个意思?
      

  3.   

    function formatDatetime(str) {
        var t = new Date(str);
        var h = t.getHours();
        var m = t.getMinutes();
        var s = t.getSeconds();
        var ar = [h, m, s];
        t.setHours(0, 0, 0, 0);    var today = new Date();
        today.setHours(0, 0, 0, 0);    //日期转换为毫秒数后计算天数差
        var days = (today.getTime() - t.getTime()) / 1000 / 60 / 60 / 24;
        var result = '';
        switch(days) {
            case 0:
                result = '今天 ' + ar.join(':');
            case 1:
                result = '昨天 ' + ar.join(':');
            case 2:
                result = '前天 ' + ar.join(':');
            default:
                result = t.getDate() + '/' + (t.getMonth() + 1) + '/' + t.getFullYear() + ' ' + ar.join(':');
        }
        return result;
    }alert(formatDatetime('Fri Jun 24 19:47:14 +0800 2011'));
      

  4.   

    漏掉break语句了,重新贴一下:
    function formatDatetime(str) {
        var t = new Date(str);
        var h = t.getHours();
        var m = t.getMinutes();
        var s = t.getSeconds();
        var ar = [h, m, s];
        t.setHours(0, 0, 0, 0);    var today = new Date();
        today.setHours(0, 0, 0, 0);    //日期转换为毫秒数后计算天数差
        var days = (today.getTime() - t.getTime()) / 1000 / 60 / 60 / 24;
        var result = '';
        switch(days) {
            case 0:
                result = '今天 ' + ar.join(':');
                break;
            case 1:
                result = '昨天 ' + ar.join(':');
                break;
            case 2:
                result = '前天 ' + ar.join(':');
                break;
            default:
                result = t.getDate() + '/' + (t.getMonth() + 1) + '/' + t.getFullYear() + ' ' + ar.join(':');
                break;
        }
        return result;
    }alert(formatDatetime('Fri Jun 24 19:47:14 +0800 2011'));
      

  5.   

    好,谢谢T5500&aspwebchh
    用T5500的可以了