2012-12-06 18 views
9

कनवर्ट करने के लिए moment.js का उपयोग करें I Javascripy/jQuery का उपयोग करके निम्न तिथियों को कनवर्ट करना चाहते हैं। मेरा शोध पल को इंगित करता है। जेएस जो बहुत ही अच्छा लग रहा है लेकिन मुझे लगता है कि मैं इसे नाखुश नहीं कर सकता। (जे एस अर्द्ध noob)दिनांक प्रारूप

<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 घंटों के भीतर तिथियां एक कक्षा जोड़ें और "नया" दिनांक प्रदर्शित करें।

धन्यवाद!

उत्तर

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 और टेक्स्ट "new" में जोड़ने का कोई तरीका है? सुधारना बंद कर दिया। (आईटी उपरोक्त कोड के तहत मेरे प्रश्न का उत्तरार्द्ध हिस्सा है।) –

+0

कक्षा जोड़ने के लिए '.addClass()' आज़माएं। आप यहां इसका प्रोपर उपयोग ढूंढ सकते हैं: http://api.jquery.com/addclass/। यदि इससे आपको मदद मिलती है तो आप को भूलना न भूलें! ;) शुभकामनाएं मेट! – SrAxi

+0

अच्छा काम! उपरोक्त :) – Stu

संबंधित मुद्दे