2012-12-06 2 views
9

Javascripy/jQuery를 사용하여 다음 날짜를 변환하고 싶습니다. 내 연구가 순간을 가리키는 것 같습니다 .js는 멋져 보이지만 못을 박는 것처럼 보일 수는 없습니다. 날짜가 지난 24 시간 내에 있다면 같은 논리가 사업부에 추가 클래스를 적용 할 수있는 경우 (JS 반 멍청한 놈은) moment.js를 사용하여 날짜 형식 변환

<div class="date">01-06-2012</div> convert to display January 6 
<div class="date">05-14-2012</div> convert to display May 14 
<div class="date">06-16-2012</div> to display June 16 

은 또한 그것은 좋지 않을까, 그래서 나는 다른 사람들에게 약간의 스타일을 지정할 수 있습니다. 어쩌면 지난 24 시간 이내에 날짜를 "새"라는 표시 대신 클래스를 추가 할 수 있습니다.

감사합니다.

답변

23
$(function() { 
    $('.date').each(function (index, dateElem) { 
    var $dateElem = $(dateElem); 
    var formatted = moment($dateElem.text(), 'MM-DD-YYYY').format('MMMM D'); 
    $dateElem.text(formatted); 
    }) 
});​ 

http://jsfiddle.net/x2fDP/

제 2 부 (textMoment은 DIV의 텍스트에서 생성 된 구문 분석 순간 인스턴스이다) 그 날이었고, 전 (밀리 초)을 얻을 수 new Date().getTime() - textMoment.valueOf()를 사용하려고 그 수는 미만인 경우 임계 값, 사용 $dateElem.addClass('new');

+0

굉장합니다. 날짜가 최근 24 시간 이내 인 경우 div를 추가하고 텍스트를 "new"라는 텍스트로 추가하는 방법이 있습니까? 다시 포맷팅이 흔들렸다. (위의 코드에서 내 질문의 후반 부분입니다.) –

+0

클래스를 추가하려면'.addClass()'를 사용해보십시오. http://api.jquery.com/addclass/에서 프로퍼티 사용을 찾을 수 있습니다. 이것이 도움이되면 upvote를 잊지 마세요! ;) 행운을 빌어 요! – SrAxi

+0

잘 했어! Upvote :) – Stu