2012-12-06 133 views
9

我想使用Javascripy/jQuery將以下日期轉換。我的研究似乎指向moment.js,看起來很棒,但我似乎無法完成它。 (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 

而且這將是真棒,如果同樣的邏輯可以把附加類到div如果日期是在過去24小時內,這樣我就可以不同樣式的一點。也許有最近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,請嘗試使用new Date().getTime() - textMoment.valueOf()(其中textMoment從div的文本創建的解析時刻實例)獲得的毫秒數年前該日期是,如果這個數字是你的下面門檻,使用$dateElem.addClass('new');

+0

太棒了。如果日期在過去24小時內,是否有任何方法將該類添加到div和文本「新」,而不是顯示日期?重新格式化。 (IT是上述代碼中我的問題的後半部分。) –

+0

要添加類,請嘗試使用'.addClass()'。你可以在這裏找到它的使用方法:http://api.jquery.com/addclass/。 如果這有助於你不忘記upvote! ;)祝你好運隊友! – SrAxi

+0

幹得好! Upvote :) – Stu