我正在使用Twig的Moment.js计算时间,
代码(Twig) -
我在post_date_gmt
变量中有日期,我正在使用它,
<div class="time">
<time datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}">moment.unix({{ post_date_gmt }}).local().fromNow()</time>
</div>
这给了我输出:
<div class="time">
moment.unix(1331845445).local().fromNow()
</div>
当我尝试在控制台中运行上面的字符串时,它工作正常 - '一个月前'。
我不明白为什么树枝没有给我正确的输出?
难道我做错了什么?。谢谢你的时间。
答案 0 :(得分:1)
时刻是一个javascript函数,你试图从一块HTML而不是一块javascript中调用它。有几种方法可以做到,但一个简单的黑客将是:
<div class="time">
<time datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}">
<script type="text/javascript">document.write(moment.unix({{ post_date_gmt }}).local().fromNow());</script></time>
</div>
我不建议使用像这样的document.write。最好将此作为一个单独的javascript类似的块(使用jquery作为示例):
<div class="time">
<time id="time" datetime="{{ post_date_gmt| date('Y-m-d H:i:s')}}"></time>
</div>
--- snip ---
<script type="text/javascript">
$(function(){
$('#time').val( moment.unix({{ post_date_gmt }}).local().fromNow() );
});
</script>
答案 1 :(得分:0)
<li><p class="created"></p></li>
<script type="text/javascript">
$(function(){
$(".created").html(moment.unix({{ post_date_gmt| date('U') }}).local().fromNow());
});
</script>