Странное поведение с фильтром локализованной даты в Twig - PullRequest
0 голосов
/ 18 мая 2018

В Twig у меня есть DateTime вроде этого (от dump):

DateTime {#22261 ▼
  +"date": "2017-01-01 08:00:00.000000"
  +"timezone_type": 1
  +"timezone": "+01:00"
}

Когда я печатаю эту дату с разными фильтрами, я получаю разные результаты за год.

Примеры:

{{ testdate|date('d M Y') }} 

печать 01 Jan 2017 => год правильный.

{{ testdate|localizeddate('none', 'none', "fr", "Europe/Paris", "d MMM YYYY") }}

печать 1 janv. 2016 => год неверный .

{{ testdate|localizeddate('medium', 'none', "fr") }}

печатает 1 janv. 2017 => Год правильный.

Поэтому, когда я использую localizeddate('none', 'none', "fr", "Europe/Paris", "d MMM YYYY"), год кажется неправильным.

Если я изменю язык на "en", год сейчас правильный (2017).Но если я попробую в других локалях, таких как "de", "it", "es", "pl", год всегда будет "2016".

Примечание: те же результаты, если я позволю null для параметра часового пояса.

1 Ответ

0 голосов
/ 07 июня 2018

http://userguide.icu -project.org / formatparse / datetime

Вы должны использовать «y» вместо «Y».

С «Y» вы будетепоказывать год недели, но с помощью 'y' вы будете показывать правильный год.

Иногда короткая неделя в январе считается частью декабря (52 или 53 неделя) и наоборот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...