如何在 Joomla 中以区域设置日期/时间格式输出日期?
我正在创建一个应该打印日期的模块。我知道我可以像这样对它进行肮脏的破解:
strftime(format_string, strotime($date));
...但我想要一个更流畅的解决方案,它会使用 Joomla 的内置语言环境处理功能。
在 Joomla!1.5有JDate类:
function getLocalizedDate($date = 'now', $format_string = '%Y-%M-%D')
{
jimport('joomla.utilities.date');
$jdate = new JDate($date);
return $jdate->toFormat(JText::_($format_string));
}
工作日和月份名称由 JDate 类本地化,此外,如果格式字符串已知(如 '%Y-%M-%D'),它也会被国际化 - 参见文件开头 /language/xx_XX /xx_XX.ini(其中 xx 是使用的语言。)
注意:JDate 还应用在 configuration.php 中设置或被 Joomla! 覆盖的时区!用户。时间字段应始终存储为 +0000 GMT。
以下是一些可能有用的代码行(摘自 tmpl/default.php 模块文件):
<?php
defined ( '_JEXEC' ) or die ( 'Restricted access' );
jimport('joomla.html.html');
if ($params->get ( "display_date", 1 )) {
echo JHTML::_('date',$myClass->get_YYYYMMDD_Date(),JText::_('DATE_FORMAT_LC3'));
}
对于 DATE_FORMAT_LC3=%d %B %Y 和日期 19991101,输出 1999 年 11 月 1 日。DATE_FORMAT_LC3 是在 ...\joomla15\language\fr-FR\fr-FR.ini 中定义的常量,用于法语翻译。
在这里,一篇优秀的文章:在 Joomla 中处理日期!