2012-06-14 4 views
0

다음과 같이 db의 iso 타임 스탬프를 기반으로 한 시간 경과 출력을 표시하는 방법을 찾고 있습니다 : 2008-07-17T09 : 24 : 17Z타임 스탬프가 주어지면 시간/요일/월 단위로 시간대를 표시하는 방법

출력과 같이해야합니다 : 사용

  • 사용 지난 화요일
  • 에게 화요일에 중고

    • 오늘
    한 달 전에보다 더

    뭔가 간단하고 더 정적 당신이 JQuery와 TIMEAGO 플러그인으로 무엇을 얻을 : http://timeago.yarp.com/

    어떤 제안이? 감사합니다.

  • +1

    링크 된 timeago 플러그인의 문제점은 무엇입니까? 너무 세밀한가? – acattle

    +0

    정말 원하시는 것이 있습니까? –

    +0

    인터넷상의 백만 장소에서 이것에 관해 많은 질문이 있습니다. – ddlshack

    답변

    0

    타임 스탬프를 날짜 개체로 변환하여 로컬 (또는 다른) 날짜 개체와 비교할 수 있습니다. 그런 차이에 따라 응답을 분류 :

    // Expects ISO8601 long format, no decimals of seconds 
    function localDateFromUTC(s) { 
    
        var x = s.split(/[-\s:tz]/i); 
        var d = Date.UTC(x[0], x[1], x[2], x[3], x[4], x[5], 0); 
        return new Date(d); 
    } 
    
    function aboutTime(s) { 
    
        var r = Math.round; 
        var now = new Date(); 
        var then = localDateFromUTC(s); 
        var diff = r((now - then)/1000); // Convert to seconds 
    
        if (diff < 10) return 'a few seconds ago'; 
        if (diff < 50) return 'less than a minute ago'; 
        if (diff < 70) return 'about a minute ago'; 
        if (diff < 35000) return 'about ' + r(diff/60) + ' minutes ago'; 
        if (diff < 8.64e4) return 'about ' + r(diff/3600) + ' hours ago'; 
        if (diff < 6.048e5) return 'about ' + r(diff/8.64e4) + ' days ago'; 
        // and so on 
        return 'about ' + r(diff/6.048e5) + ' weeks ago'; 
    
    } 
    
    alert(aboutTime('2008-07-17T09:24:17Z')); // about 200 weeks ago 
    
    당신은 번호와 관련된 속성 (문자열 "에 대해"은에 예를 들어 객체를 변환하는 방법에 대한 자세한 영리 얻을 수

    시대 "에 대해"다음 변환하려면 번호를 속성 이름에 추가).

    관련 문제