2013-04-28 64 views
11

我正在使用symfony2和sonata-admin軟件包進行應用。時間顯示格式?

public function configureListFields(ListMapper $listMapper) 
{ 
    $listMapper 
     ->addIdentifier('id') 
     ->add('fromDate'); 

它顯示的時間是這樣

September 1, 2013 02:00 

,所以我改變

- ->add('fromDate'); 
+ ->add('fromDate',null,array('format' => 'yyyy-MM-dd HH:mm:ss')) 

,但它仍然表現出同樣的。

請給我如何使用時間顯示格式?

使用

->add('fromDate','datetime',array('date_format' => 'yyyy-MM-dd HH:mm:ss')) 

順便說

+0

這應該是你的樹枝模板的一部分。 – cheesemacfly 2013-04-29 15:53:47

+0

@cheesemacfly這只是一種做法,並不一定是最好的。 – likeitlikeit 2013-04-29 22:08:36

+0

@不錯,日期呈現的方式應該是視圖的一部分,因爲它只有一個顯示目的,或者我錯過了什麼? – cheesemacfly 2013-04-29 23:10:05

回答

4

嘗試,相關的代碼是here。我認爲你的format選項被系統覆蓋,所以使用date_format代替它很重要。對於應用範圍的解決方案,請看this question

+0

非常感謝這是相當有用的信息。 – whitebear 2013-04-30 03:13:36

+0

我想知道如何做到這一點,以格式化unix timesampt和日期類型。使用類型'日期'的作品,並顯示像'2013年10月24日',但date_format不會改變它。有任何想法嗎? – Onema 2013-10-24 17:51:59

0

你必須表明,「日期時間」是你watn使用,然後使用格式鍵,比如類型:

->add('fromDate',datetime,array('format' => 'yyyy-MM-dd HH:mm:ss')) 

內部,索納塔將採用list_datetime.html.twig因爲你是闖民宅「Datetime」作爲類型幷包含格式選項。下面你可以看到list_datetime.html.twig奏鳴曲的基本實現:

{% extends admin.getTemplate('base_list_field') %} 

{% block field %} 
{%- if value is empty -%} 
      
{%- elseif field_description.options.format is defined -%} 
    {{ value|date(field_description.options.format) }} 
{%- else -%} 
    {{ value|date }} 
{%- endif -%} 
{% endblock %} 
0

我的'問題'是不同的。 因爲我的奏鳴曲國際音樂包活動,它使用它來格式化日期時間列表。

->add('startAt', 'datetime', array(
       'dateType' => IntlDateFormatter::LONG, 
       'timeType' => IntlDateFormatter::SHORT 
      )) 
2

描述

$list->add('createdAt', 'date', array(
    'pattern' => 'yyyy-MM-dd', 
)) 

我知道這是一個古老的線程,但我希望這會幫助別人......

嘗試添加此內容,就像carzogliore說的那樣(但引用從日期時間被錯過):

0從上面的
2

沒有爲我工作過,所以我冒昧地檢查網頁的源文件,其中指出我對所用的模板:

<!-- START 
    fieldName: date 
    template: SonataAdminBundle:CRUD:list_date.html.twig 
    compiled template: SonataAdminBundle:CRUD:list_date.html.twig 
    --> 
<td class="sonata-ba-list-field sonata-ba-list-field-date" objectId="1">11.03.17</td> 
<!-- END - fieldName: date --> 

和檢查模板我已經找到了正確的選項提交的名稱後:

{%- elseif field_description.options.format is defined -%} 

所以我做了我的聯繫這樣的代碼

->add('date', null, ['format' => 'd/m/Y']) 

它的工作。

注意格式是常規date()格式,一個必須使用只是一個單一的佔位符標記,像y爲一年,yyyy產生2017201720172017