Подтвердить что ты не робот

Формат отображения времени?

Я делаю приложение с набором 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'))

но он все равно показывает то же самое.

пожалуйста, дайте мне, как использовать формат отображения времени?

4b9b3361

Ответ 1

Попробуйте использовать

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

Кстати, соответствующий код здесь. Я думаю, что ваш параметр format перезаписывается системой, поэтому важно использовать date_format. Для решения на уровне приложения также рассмотрите этот вопрос.

Ответ 3

Я знаю, что это старая нить, но я надеюсь, что это поможет кому-то...

Попробуйте добавить это, как сказал carzogliore (но цитаты пропущены из datetime):

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

Ответ 4

Ничего из вышеперечисленного не сработало для меня, поэтому я рискнул проверить источник страницы, который указал мне на используемый шаблон:

<!-- 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.

Ответ 5

Вы должны указать, что "DateTime" - это тип, который вы используете, а затем используйте клавишу форматирования, например:

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

Внутри, Sonata будет использовать list_datetime.html.twig, поскольку вы ссылаетесь на "Datetime" как тип и который содержит параметры формата. Ниже вы можете увидеть реализацию base_datetime.html.twig соната:

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

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

Ответ 6

моя "проблема" была другой. Поскольку у меня есть активный набор сонат, он использует его для форматирования списка datetime.

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