YYYY/MM/DD HH:mm 으로 표시되는 티스토리 시간을

    방금전, x분 전, x시간 전, x일 전, x주 전 등으로 표시해주는 스크립트입니다.


    4분 이내는 방금전,

    1시간 이내는 x분 전,

    24시간 이내는 x시간 전,

    7일 이내는 x일 전,

    60일 이내는 x주 전,

    12개월 이내는 x개월 전,

    그보다 오래된 시간은 YYYY년 MM월 DD일 hh시 mm분으로 표시해줍니다.


    .



    적용 방법

    다음 스크립트를 </body>위에 붙여넣으면 됩니다.

    <script>

    //modDate script by 뭐하라 (http://nubiz.tistory.com/610)

    function modDate(a){$("."+a+" a").addClass("abuseReport");$(".abuseReport").each(function(b,c){$(c).parent().parent().append(c)});$("."+a).each(function(){if(!$(this).is(".modDate")){var l,f,n,i,g,h,e,c,d,k,j,b,m;l=$(this).text().trim();e=new Date();c=new Date();switch(l.length){case 4:b=l;e.setFullYear(b);break;case 5:if(l.match(":")){g=l.substring(0,2);h=l.substring(3,5);e.setHours(g,h)}else{if(l.match(".")){n=l.substring(0,2);i=l.substring(3,5);e.setMonth(n-1,i)}}break;case 8:g=l.substring(0,2);h=l.substring(3,5);e.setHours(g,h);break;case 10:f=l.substring(0,4);n=l.substring(5,7);i=l.substring(8,10);e.setFullYear(f,n-1,i);break;case 16:f=l.substring(0,4);n=l.substring(5,7);i=l.substring(8,10);g=l.substring(11,13);h=l.substring(14,16);e.setFullYear(f,n-1,i);e.setHours(g,h);break;default:m=true;break}if(!m){if(g){j=e.getFullYear()+"년 "+(e.getMonth()+1)+"월 "+e.getDate()+"일 "+e.getHours()+"시 "+e.getMinutes()+"분"}else{if(n){j=e.getFullYear()+"년 "+(e.getMonth()+1)+"월 "+e.getDate()+"일"}else{j=e.getFullYear()+"년"}}d=e.getTime();k=c.getTime();b=k-d;$(this).attr("title",j);b=b/1000;if(g){if(b<240){$(this).text("방금")}else{if(b<3600){b=Math.round(b/60);$(this).text(b+"분 전")}else{if(b<86400){b=Math.round(b/3600);$(this).text(b+"시간 전")}}}}else{if(b<86400){b=j;$(this).text("오늘")}}if(b>=86400){b=b-c.getHours()*60*60;b=Math.ceil(b/86400);if(b<7){$(this).text(b+"일 전")}else{if(b<60){b=Math.round(b/7);$(this).text(b+"주 전")}else{if(b<305){b=Math.round(b/30.5);$(this).text(b+"개월 전")}else{b=j;$(this).text(b)}}}}$(this).addClass("modDate")}}})};

    modDate("date");

    modDate("teditionInfo");

    </script>

    빨간색 표시된 date는 시간 표시를 바꿀 class의 이름입니다. materialT스킨을 비롯한 몇몇 스킨은 그대로 적용 가능하고, 다른 스킨에서는 직접 class값을 알아서 넣어주어야합니다. 시간 표시된 곳에 마우스오른쪽버튼 클릭해서 요소검사를 해보면 알 수 있습니다.



    ※본 스크립트는 jQuery를 사용합니다. 스크립트가 작동하지 않는다면 스크립트 윗줄에 다음을 추가해주세요.

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

    <!--[if lte IE 8]> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <![endif]-->


    수정해서 쓰실분들은 주석을 첨가한 소스코드를 공개하니 수정해서 사용하시면됩니다.


    Posted by 뭐하라

    문제가 있나요?(?)

    내용상 오류가 있음 업데이트 필요 화면이 깨짐 기타 수정이 필요함
    • BlogIcon wallel
      2015.09.19 18:47 신고

      와 이거 좋네요.
      전부터 궁금했던 스크립트였는데~

      좋은 정보 감사합니다. :)

      • BlogIcon 뭐하라
        2015.09.19 19:54 신고

        시간이없어서 최근 댓글같은 곳에 hh:mm이나 MM/dd같은 형식은 미처 준비를 못했는데 완성하면 다시업로드할게요~^^

      • BlogIcon wallel
        2015.09.19 19:56 신고

        언제나 좋은 정보 감사합니다!

        늘 공부가 많이 돼요. ㅎ

      • BlogIcon 뭐하라
        2015.09.19 21:29 신고

        수정했으니 참고하세요~

    • BlogIcon wallel
      2015.09.19 21:32 신고

      티에디션 부분도 적용되나보군요~

      감사합니다. :)

    • BlogIcon 퍼스나콘
      2015.09.23 00:37 신고

      감사합니다~ 잘 적용했습니다.

      • BlogIcon 뭐하라
        2015.09.29 13:30 신고

        경우의수 한가지가 빠졌었네요 카테고리목록에서 오늘쓴 글 시간이 제대로 안됐었는데 수정했습니다~

    • BlogIcon 현교공듀
      2016.07.03 18:56 신고

      감사합니다^^

    • BlogIcon SoyaMilk
      2017.03.20 16:45 신고

      저는 계속 변경 해도 몇주전or몇시간전or몇분전 이렇게만 뜨네요...
      새로고침할때 몇년 몇월 몇일 몇시 몇분 까지 뜨고 새로고침이 완료되면 몇주전 or 몇시간전 이렇게 뜨네요.

      • BlogIcon 뭐하라
        2017.03.20 17:02 신고

        몇시간전 몇주전으로 뜨는게 맞습니다 materialT mark5부터 기본적용되어있습니다
        해당 기능을 끄고싶으신거라면 html에서
        modDateON=1;
        를 찾아 1을 0으로 바꿔주시면됩니다

      • BlogIcon SoyaMilk
        2017.03.20 18:23 신고

        그렇군요. 감사합니다. ^^