ライブラリを避けてJavascript Dateオブジェクトを操作したい場合は、私が提案することをお勧めします(これは、日付がISO形式2010-06-15T00:00:00であると仮定し、Date.toISOString()から取得できます):
format メソッドを実装し ( printf/string.format に相当する JavaScript に感謝します)、つまり 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/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>