为Joomla v2.5开发组件,我正在使用带有mysql时间戳列的表。
组件的一个设置是“时区”。我不想使用服务器时区,因为代码将在不同的服务器/时区运行,我想独立。因此,我们的想法是将时间戳存储在mysql中,并根据组件的参数显示正确的日期/时间。主要缺点是mysql服务器使用的时区,使整个情况变得复杂。那么,有没有办法在MySQL中以通用格式存储当前时间戳并以正确的方式显示它?
最终目标是组件能够根据组件的参数显示正确的日期/时间,例如。用户动态更改参数,不会对数据库进行任何修改,只能在“查看”
上进行为了在正确的时区显示日期,我使用:
JHtml::date($date_from_mysql , 'd/m/Y H:i:s', $my_component_timezone_parameter)
请分享您的想法。
答案 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);
}