比较来自世界各地的卖家的域名和 IT 服务价格

格式化对象 DateTime, 观察 Locale::getDefault//

我有一个物体 DateTime, 我目前使用哪个


$mytime->format/"D d.m.Y"/


是什么让我完全是我需要的格式:

T. 5.3.2012

唯一缺少的时刻 - 这是正确的语言。 我需要一个德语翻译
Tue

/
Tuesday

/, 这是
Die

/
Dienstag

/.

它给了我正确的设置 locale


Locale::getDefault//


但我不知道怎么说
DateTime::format

, 用它。

没有办法做一些这样的事情:


$mytime->format/"D d.m.Y", \Locale::getDefault///;
已邀请:

君笑尘

赞同来自:

您可以使用扩展名
http://php.net/intl
格式化日期。 它将格式化日期/按照所选的时间 locale, 或者你可以用它来覆盖它
http://php.net/intldateformatter.setpattern
.

使用自定义模板的用于所需输出格式的快速示例可能如下所示。


$dt = new DateTime;

$formatter = new IntlDateFormatter/'de_DE', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT/;
$formatter->setPattern/'E d.M.yyyy'/;

echo $formatter->format/$dt/;


显示以下内容 /至少今天/.

迪 4.6.2013


编辑

: AAA-BU! 回答了一个古老的问题,因为一些评论在清单中提出了它! 至少现在提到了 Intl.

莫问

赞同来自:

这是因为
format

不注意 locale. 相反,您必须使用
http://php.net/manual/en/function.strftime.php
.

例如:


setlocale/LC_TIME, "de_DE"/; //only necessary if the locale isn't already set
$formatted_time = strftime/"%a %e.%l.%Y", $mytime->getTimestamp///

要回复问题请先登录注册