2013-07-26 7 views
10

मीटियर हैंडलबार ब्रैसर का उपयोग करते समय, {{ timestamp }} के Thu Jul 25 2013 19:33:19 GMT-0400 (Eastern Daylight Time) से Jul 25 पर आउटपुट को कैसे परिवर्तित करें?मीटियर हैंडलबर्स ब्रैसर {{timestamp}}

की कोशिश की {{ timestamp.toString('yyyy-MM-dd') }} लेकिन यह एक त्रुटि

+4

नोट: मानक [ 'toString()' 'Date's के लिए] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString) इसे पारित किए गए किसी भी तर्क को अनदेखा करता है और ईसीएमएस्क्रिप्ट किसी भी अन्य विधियों को परिभाषित नहीं करता है जो ''yyyy-MM-dd''' जैसी 'स्ट्रिंग' के आधार पर' दिनांक' प्रारूपित कर सकते हैं। यदि आप पहले से ही एक लाइब्रेरी समेत नहीं हैं जो 'toString()' को संशोधित करता है, तो सुझावों के लिए http://stackoverflow.com/q/1056728 पर एक नज़र डालें। –

+0

यहां एक बेहतर वर्णन है कि यह कैसे करें -> http://stackoverflow.com/questions/18580495/format-a-date-from-inside-a-handlebars-template-in-meteor –

उत्तर

37

एक हैंडल सहायक उपयोग दिया:

Template.registerHelper("prettifyDate", function(timestamp) { 
    return new Date(timestamp).toString('yyyy-MM-dd') 
}); 
फिर अपने html में

:

{{prettifyDate timestamp}} 

आप का उपयोग करते हैं पल:

Template.registerHelper("prettifyDate", function(timestamp) { 
    return moment(new Date(timestamp)).fromNow(); 
}); 
+6

@JonathanLonowski जैसा ऊपर बताया गया है, यह है यह ध्यान देने योग्य है कि 'timestamp.toString()' इसे पास किए गए किसी भी तर्क को अनदेखा कर देगा। मुझे लगता है कि MomentJS का उपयोग करके यह सब अविश्वसनीय रूप से सरल बनाता है। – Spencer

+3

toDateString() एक संक्षिप्त प्रारूप के लिए काम करता है। – user592419

+0

@ अक्षत, ध्यान दें कि कुछ फ्लिप फ़्लॉप करने के बाद, वाक्यविन्यास अब ['Template.registerHelper'] (http://docs.meteor.com/#/full/template_registerhelper) – KyleMit

1

यह बदतर मेरे लिए केड

Handlebars.registerHelper("prettifyDate", function(timestamp) { 
    return (new Date(timestamp)).format("yyyy-MM-dd"); 
}); 
+1

यह स्वीकृत उत्तर में कुछ भी नहीं जोड़ता है । –

+0

मुझे नहीं पता लेकिन जैसा कि मुझे याद है कि स्ट्रिंग मेरे लिए काम नहीं करती है। – user965884

+0

और ऊपर उत्तर मेरे उत्तर के बाद अद्यतन किया गया है। – user965884

1

यह मेरे लिए काम करता है।

टूस्ट्रिंग ("yyyy-MM-dd") - इसे परिवर्तित नहीं करता है।

Template.registerHelper("prettifyDate", function(timestamp) { 
    var curr_date = timestamp.getDate(); 
    var curr_month = timestamp.getMonth(); 
    curr_month++; 
    var curr_year = timestamp.getFullYear(); 
    result = curr_date + ". " + curr_month + ". " + curr_year; 
    return result; 
}); 
संबंधित मुद्दे