php create DateTime из отметки времени, возвращенной IntlDateFormatter

Я пытаюсь найти удобный способ конвертировать локализованные данные даты в стандартный объект dateTime.
С английским вводом это действительно просто, но, к сожалению, DateTime не поддерживает интернационализацию, поэтому я думаю, что мне придется использовать IntlDateFormatter.

Итак, я пытался передать результаты между ними и получить странные результаты:

$formatter = new \IntlDateFormatter(
'en_US',
\IntlDateFormatter::NONE,
\IntlDateFormatter::NONE
);
$formatter->setPattern("dd MMMM Y");
$timestamp = $formatter->parse("08 February 2012");

возвращается

1324767600

Когда я передаю это DateTime

$dateTime = new \DateTime();
$dateTime->setTimestamp($timestamp);
$formatted = $dateTime->format("d F Y");

я получил

25 December 2011

Так что же я здесь делаю не так, или, может быть, есть гораздо более простой способ сделать то, чего я хочу достичь?

Спасибо

-1

Решение

Я думаю, это потому, что ваша модель не соответствует тому, что вы хотите сделать.

Согласно Документация ICU, MMM ожидает трехбуквенный месяц. Чтобы выбрать большее представление, используйте MMMM,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]