アンダースコア テンプレートを使用すると、関数を呼び出してテキストを任意の方法で出力できますprint
。たとえば、タイムスタンプを日付に変換するには、次のようなものを使用できます
<script type="text/template" id="tpl-1">
<span class="label label-info"><% print(new Date(date*1000)) %></span>
</script>
タイムスタンプはPHPからのものであると想定しているため、秒単位であることに注意してください。Javascript では、タイムスタンプはミリ秒単位であると予想されるため、1000 を掛けます。
タイムスタンプが Javascript に由来する場合は、
<script type="text/template" id="tpl-1">
<span class="label label-info"><% print(new Date(date)) %></span>
</script>
この日付オブジェクトのフォーマットは、次のように行うことができます
<script type="text/template" id="tpl-2">
<span class="label label-info"><%
var d = new Date(date*1000), // or d = new Date(date)
fragments = [
d.getDate(),
d.getMonth() + 1,
d.getFullYear()
];
print(fragments.join('/'));
%></span>
</script>
または、これらすべてを関数呼び出しに因数分解します (ここでは_.template
、どこにでも保存できます)。
_.template.formatdate = function (stamp) {
var d = new Date(stamp*1000), // or d = new Date(date)
fragments = [
d.getDate(),
d.getMonth() + 1,
d.getFullYear()
];
return fragments.join('/');
};
<script type="text/template" id="tpl-3">
<span class="label label-info"><%= _.template.formatdate(date) %></span>
</script>
そしてデモhttp://jsfiddle.net/Dyzm8/