9

我想使用 Javascripy/jQuery 转换以下日期。我的研究似乎指向了 moment.js,它看起来很棒,但我似乎无法确定它。(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 小时内,如果相同的逻辑可以对 div 应用一个额外的类,那就太棒了,所以我可以对它们进行一些不同的样式设置。也许让过去 24 小时内的日期添加一个类,而不是显示“新”的日期。

谢谢!

4

1 回答 1

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');

于 2012-12-06T05:53:21.457 回答