【发布时间】:2015-01-02 04:02:35
【问题描述】:
我正在尝试找到一种方便的方法将本地化日期输入转换为标准 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
那么我在这里做错了什么,或者是否有更简单的方法来实现我想要实现的目标?
谢谢
【问题讨论】:
-
您应该始终知道输入是什么。
-
那没有回答这个问题。我指定了一个输入定义非常明确的情况