2013-07-26 12 views
10

Meteor'ın Gidon desteklerini kullanırken, {{ timestamp }} çıktısını Thu Jul 25 2013 19:33:19 GMT-0400 (Eastern Daylight Time)'dan Jul 25'a nasıl dönüştürürsünüz?Meteor'daki geçiş tarihi Çubuklar {{timestamp}}

çalıştı {{ timestamp.toString('yyyy-MM-dd') }} ama bir hata

+4

Not: [ 'Date's için 'toString()'] standart (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toUTCString) kendisine gönderilen herhangi bir argümanı yok sayar ve ECMAScript '' 'yyyy-MM-dd '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'biçiminde biçimlendirebilen başka bir yöntem tanımlamaz. Eğer zaten toString() 'i değiştiren bir kütüphane içermiyorsanız, öneriler için http://stackoverflow.com/q/1056728 adresine bir göz atın. –

+0

işte bu nasıl daha iyi bir açıklama -> http://stackoverflow.com/questions/18580495/format-a-date-from-inside-a-handlebars-template-in-meteor –

cevap

37

kullanın gidon yardımcı verdi: sizin html Sonra

Template.registerHelper("prettifyDate", function(timestamp) { 
    return new Date(timestamp).toString('yyyy-MM-dd') 
}); 

:

{{prettifyDate timestamp}} 

kullanırsanız an:

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

Yukarıda @JonathanLonowski belirtildiği gibi, 'timetamp.toString() 'ifadesinin, kendisine iletilen herhangi bir argümanı yok sayması gerektiğine dikkat edin. MomentJS kullanarak bunu inanılmaz derecede basit buluyorum. – Spencer

+3

toDateString() kısaltılmış bir biçimde çalışır. – user592419

+0

@Akshat, bazı flip flopping sonra, sözdizimi şimdi ['Template.registerHelper '] olduğunu (http://docs.meteor.com/#/full/template_registerhelper) – KyleMit

1

Bu wor benim için

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

Bu kabul edilen cevaba bir şey eklemediğini unutmayın . –

+0

Bilmiyorum ama hatırladığım gibi, String benim için çalışmadı. Cevabımdan sonra – user965884

+0

ve üzeri cevap güncellendi. – user965884

1

Bu benim için çalışır.

toString ("yyyy-MM-dd") - dönüştürmez.

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