2012-12-06 12 views
9

Javascripy/jQueryを使用して次の日付を変換したいと思います。私の研究は瞬間を指しているようです。それはすばらしいようですが、私はそれを釘付けにすることはできません。 (JS半noobの)日付が過去24時間以内であるので、私は少し違ったものにスタイルを適用することができた場合、同じロジックがdiv要素に追加のクラスを適用することができるかどう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時間以内の日付にクラスを追加し、日付の代わりに "new"を表示することがあります。

ありがとうございます!

答えて

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にテキストを追加する方法はありますか?再フォーマットは揺れた。 (これは上記のコードの下で私の質問の後半です。) –

+0

クラスを追加するには、 '.addClass()'を試してみてください。あなたはここでそれを使うことができます:http://api.jquery.com/addclass/ これがアップヴォートを忘れることができなかった場合は! ;)幸運な仲間! – SrAxi

+0

良い仕事! Upvote :) – Stu

関連する問題