如何在Joomla中以区域设置日期/时间格式输出日期?
我正在创建一个应该打印日期的模块。我知道我可以这样肮脏地破解它:
strftime(format_string, strotime($date));
...但我想要一个更流畅的解决方案,它将使用Joomla的内置语言环境处理功能。
答案 0 :(得分:3)
在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。
答案 1 :(得分:0)
以下是一些可能有用的代码行(摘自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,输出01 Novembre 1999. DATE_FORMAT_LC3是在... \ joomla15 \ language \ fr-FR \ fr-FR.ini中为法语翻译定义的常量。
这里有一篇优秀的文章:Working with dates in Joomla!