在Joomla模块中使用区域设置日期格式

时间:2009-07-08 11:31:39

标签: php joomla locale

如何在Joomla中以区域设置日期/时间格式输出日期?

我正在创建一个应该打印日期的模块。我知道我可以这样肮脏地破解它:

    strftime(format_string, strotime($date));

...但我想要一个更流畅的解决方案,它将使用Joomla的内置语言环境处理功能。

2 个答案:

答案 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!