0

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

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

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

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

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

请分享你的想法。

4

2 回答 2

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

于 2013-02-04T04:15:38.323 回答
0

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

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

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

    return parent::store($updateNulls);
}
于 2013-02-04T19:53:37.753 回答