最近的一个项目,使用cakephp1.2开发,用的Amazon的RDS数据库,不能设置timezone,没办法只能在程序中设置。
看了一下cake的源码,做了如下修改:
cake\libs\model\datasources\dbo\dbo_mysql.php 文件,添加如下方法:
/**
* Sets the database timezone
*
* @param string $tz Database timezone
*/
function setTimezone($tz) {
return $this->_execute('SET time_zone=' . $tz) != false;
}
cake\libs\model\datasources\dbo\dbo_mysqli.php 文件,在connect方法中,return之前,添加如下2行:
if (!empty($config['timezone'])) {
$this->setTimezone($config['timezone']);
}
现在,在database的config中添加timezone的配置就OK了:
'timezone'=>'+8:00'