php根据IntlDateFormatter返回的时间戳创建DateTime


php create DateTime from timestamped returned by 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

那么,我在这里做错了什么,或者有没有一种更简单的方法来实现我想要实现的目标?

感谢

我认为这是因为你的模式与你想要做的不一致

根据重症监护室的文件,MMM预计一个月会收到三封信。要选择更大的表示,请使用MMMM