在Twig中格式化日期时间

时间:2015-09-28 17:35:42

标签: symfony formatting twig

在我的mySQL数据库中,我有一些日期(EventDate)和时间(EventStartTEventEndT)变量,我尝试格式化以进行演示。

以前我在循环查询数组并将表示格式应用为:

$fdate=date_format(date_create($row['EventDate']), "l jS \of F Y");
$stime=time_format($row['EventStartT'],"%H:%i");

这给了我:

  • 2015年11月1日星期五
  • 12:00-15:00

但是,我现在正尝试使用带有Doctrine和Twig的Symfony框架重新编写网站。我的twig模板中有以下内容(其中list是返回的所有事件的数组):

{% block body %}
   {% for item in list %}
      <div class=''><strong>Date: {{ item.EventDate|date("l jS \of F Y") }} </strong></div>
      {% if item.EventStartT %} 
         <div class=''>Time:    {{ item.EventStartT|date("%H:%i") }} - {{  item.EventEndT|date("%H:%i") }} </div> 
      {% endif %}
   {% endfor %}
{% endblock %}

不幸的是,在我得到结果之后,我也没有给出结果:

  • 2013年11月1日星期五2015年11月
  • %00:%00 - %00:%00

1 个答案:

答案 0 :(得分:0)

这是因为你正在混合格式。第一个是正确的,第二个来自strftime,但date过滤器使用php date格式。

只需删除%

即可
item.EventStartT|date('H:i')

当然,您的$row['EventStartT']必须是\DateTime个实例。