CakePHP:CakeTime i18Date和time的信息格式
我正在使用CakeTime类对日期和时间进行本地化 对于日期,它可以像我希望的那样工作:CakePHP:CakeTime i18Date和time的信息格式,cakephp,localization,internationalization,Cakephp,Localization,Internationalization,我正在使用CakeTime类对日期和时间进行本地化 对于日期,它可以像我希望的那样工作: $timestring = $this->Time->format('Y-m-d H:i:s', time()); echo 'DateTime: '.$this->Time->i18nFormat($timestring); // Result => DateTime: 11/08/2013 我希望它也能显示时间。 例如,在美国,他们使用AM/PM,在其他地方,他们使用2
$timestring = $this->Time->format('Y-m-d H:i:s', time());
echo 'DateTime: '.$this->Time->i18nFormat($timestring);
// Result => DateTime: 11/08/2013
我希望它也能显示时间。
例如,在美国,他们使用AM/PM,在其他地方,他们使用24小时表示法
我已经找过了,但似乎找不到这样做的方法
有什么想法吗
编辑*
要明确的是,本地化可以完美地处理LC_时间文件中的日期,但i18nFormat函数只返回日期,从我看到的情况来看,传递格式将使用该格式,而不是本地化格式,例如MM/DD/YYYY与DD.MM.YYYY在不同的语言环境中
*编辑2:
维科卡马乔在评论中给出的解决方案是正确的
因此,要以本地化形式获取日期+时间:
$this->Time->i18nFormat(time(), '%x %X') does the trick!
你可以使用这个方法。您还可以检查此repo以查找常见的日期/时间转换。请确保将它们存储在APP/locale//LC_TIMEdirectory我有LC_time文件,是从/usr/share/i18n/locales/复制的,我面临的问题是我也想显示时间。i18nFormat函数只返回日期,效果很好。如果我将一种格式传递给i18nFormat函数,它还会使用LC_时间文件中的格式吗?从我所没有看到的。所以它不再是本地化的了。例如,在使用中,它是MM/DD/YYYY,在其他地方它是DD.MM.YYYY。即使我通过了一个固定的格式,cake是否足够聪明来修改它?我进一步研究发现,你可以做$this->Time->i18nformatime,“%x%x”这将根据区域设置输出日期和时间,也许这会做一些小动作。你已经更新了OP以反映你的解决方案,效果很好