如何在模板內格式化時間戳?我遵循一個建立聊天的教程,它可以工作。現在我利用一些功能擴展了聊天功能,如刪除郵件並將時間放在郵件前。但是,當我在模板內寫入{{timestamp}}
時,UNIX時間戳被給出。我如何格式化它以顯示時間'6:12'。時間戳存儲在消息集合中。在模板中顯示格式化的時間戳
是操作
Template.Messages.created = function () { ... }
函數內的時間戳正確的地方?
在此先感謝。
如何在模板內格式化時間戳?我遵循一個建立聊天的教程,它可以工作。現在我利用一些功能擴展了聊天功能,如刪除郵件並將時間放在郵件前。但是,當我在模板內寫入{{timestamp}}
時,UNIX時間戳被給出。我如何格式化它以顯示時間'6:12'。時間戳存儲在消息集合中。在模板中顯示格式化的時間戳
是操作
Template.Messages.created = function () { ... }
函數內的時間戳正確的地方?
在此先感謝。
我使用這個庫。它爲您提供所有您需要的日期格式。流星只需將它放入,您可以在任何幫助器中使用它返回格式化的日期。
如果你想避免圖書館和JavaScript日期對象來操作,我建議(假定日期是ISO格式2010-06-15T00:00:00,至極你可以從日期得到。 toISOString()):
實施格式化方法(感謝JavaScript equivalent to printf/string.format),把它放在即LIB/utils.js:
String.prototype.format = function(args, index) {
return this.replace(/{(\w+)}/g, function(match, number) {
return typeof args[index[number]] != 'undefined'
? args[index[number]]
: match
;
});
};
創建助手(把它放到客戶端/ client.js)
Handlebars.registerHelper('formatDate',function(input, pattern){
var iso = /^(\d{4})(?:-?W(\d+)(?:-?(\d+)D?)?|(?:-(\d+))?-(\d+))(?:[T ](\d+):(\d+)(?::(\d+)(?:\.(\d+))?)?)?(?:Z(-?\d*))?$/;
if(this[input]) {
var parts = this[input].match(iso);
return pattern.format(parts, {yyyy:1,MM:4,dd:5,hh:6,mm:7,ss:8,SSS:9});
}
return this[input];
});
使用助手:
{{#each logs}}
<tr>
<td>{{formatDate 'ts' '{yyyy}-{MM}-{dd} {hh}:{mm}:{ss}'}}</td>
看一看這個包swag,提供了很多有用的車把助手。
結帳的日期/時間助手:https://github.com/elving/swag#dates
您可以輕鬆地爲格式化日期/時間,如:
var date = new Date()
{{formatDate date "%m/%d/%Y"}}
{{formatDate date "%I:%M%p"}}
{{formatDate date "%F"}}
{{formatDate date "%Y%m%dT%H%M%S%z"}}
07/26/2015
11:38PM
2015-08-28
20150828T233805-0004
Template.Messages.helpers似乎是在正確的地方,然後:)謝謝 – Nique