Joomla 2.5组件 - 存储日期/时间,显示在不同的时区

时间:2013-02-03 19:01:22

标签: mysql datetime joomla joomla2.5 joomla-extensions

为Joomla v2.5开发组件,我正在使用带有mysql时间戳列的表。

组件的一个设置是“时区”。我不想使用服务器时区,因为代码将在不同的服务器/时区运行,我想独立。因此,我们的想法是将时间戳存储在mysql中,并根据组件的参数显示正确的日期/时间。主要缺点是mysql服务器使用的时区,使整个情况变得复杂。那么,有没有办法在MySQL中以通用格式存储当前时间戳并以正确的方式显示它?

最终目标是组件能够根据组件的参数显示正确的日期/时间,例如。用户动态更改参数,不会对数据库进行任何修改,只能在“查看”

上进行

为了在正确的时区显示日期,我使用:

JHtml::date($date_from_mysql , 'd/m/Y H:i:s', $my_component_timezone_parameter)

请分享您的想法。

2 个答案:

答案 0 :(得分:3)

jimport ('joomla.utilities.date');
$date = new JDate($mydate);
$curdate = $date->toFormat('%Y-%m-%d %H:%M:%S');

用于时区设置 试试http://docs.joomla.org/JDate::setTimezone/1.6

http://www.webamoeba.co.uk/site/index.php/articles-joomla-date-time

答案 1 :(得分:0)

或尝试覆盖表类中的store方法:

public function store($updateNulls = false)
{
    // get date
    $date = JFactory::getDate();

    // set variable for timestamp
    $this->myDate = $date->toMySQL();

    return parent::store($updateNulls);
}