2010-12-16 12 views
7

मैं अपने वेब एप्लिकेशन में बहुत आम सुविधा शामिल करना चाहता हूं। मैं चाहता हूं कि समय/तिथियों को अब शब्दों में समय की दूरी के रूप में लिखा जाए, उदाहरण के लिए (2 घंटे पूर्व)।शुद्ध जावास्क्रिप्ट में शब्दों में समय को दूरी को परिभाषित करने के लिए कैसे?

रेल के पास इस कार्यक्षमता का उत्कृष्ट कार्यान्वयन है, लेकिन मुझे शुद्ध जावास्क्रिप्ट में लिखे गए कुछ की आवश्यकता है। समस्या यह है कि मेरे आवेदन में बहुत सारे पेज कैश किए गए हैं, और एकमात्र चीज जो बदल जाएगी वह वास्तविक समय है।

क्या जेएस में कोई विस्तारित लाइब्रेरी है जो शब्दों में समय की दूरी का अनुवाद कर सकती है?

+2

यदि सर्वर से समय आ रहा है, तो विभिन्न समय क्षेत्रों जैसे मुद्दों पर ध्यान दें अन्यथा लोग "-2 घंटे पहले" देखेंगे। –

+0

http://stackoverflow.com/questions/2614032/how-did-facebook-do-time-ago –

+0

@ छाया विज़ार्ड टाइमगोगो के लिए संभावित डुप्लिकेट (और मैं अन्य समान पुस्तकालयों को मानता हूं) जब तक कि तिथि यूटीसी है या उस समय क्षेत्र में उपयोगकर्ता के टाइमज़ोन का उपयोग करना चाहिए (जैसा ब्राउज़र द्वारा रिपोर्ट किया गया है)। –

उत्तर

11

jQuery के लिए timeago प्लगइन अच्छी तरह से काम करता है।

उदाहरण कोड से:

jQuery(document).ready(function() { 
    jQuery("abbr.timeago").timeago(); 
}); 

जब से तुम लाइब्रेरी का उपयोग कर संदर्भित, मैं यह सोचते हैं हूँ 'शुद्ध जावास्क्रिप्ट सिर्फ सर्वर पर कुछ भी नहीं मतलब है।

+0

हां, खराब फ़्रेमिंग। मैं कैश किए गए पृष्ठ से अलग, सर्वर से कुछ खींचने का एविड करना चाहता हूं। – mdrozdziel

+0

टाइमगो ठीक काम करता है, लेकिन टूट जाता है क्या आप इसे एम्बेडेड आईफ्रेम में उपयोग करते हैं – smirkingman

4

यदि आप jQuery का उपयोग नहीं करना चाहते हैं, तो आप JavaScript Relative Time Helpers का उपयोग कर सकते हैं। यह Date वर्ग का विस्तार है, जो toRelativeTime() विधि प्रदान करता है।

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