首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Codeigniter时区mysql设置

Codeigniter时区mysql设置
EN

Stack Overflow用户
提问于 2013-07-02 21:27:05
回答 5查看 15.2K关注 0票数 8

我刚刚意识到为什么我的站点现在将所有日期时间变量显示为-1小时...我第一次使用Codeigniter!(以前从未遇到过这个问题)

因此,我在我的主index.php文件中包含了以下代码

代码语言:javascript
复制
/*
|---------------------------------------------------------------
| DEFAULT TIMEZONE
|---------------------------------------------------------------
|
| Set the default timezone for date/time functions to use if
| none is set on the server.
|
*/

if( ! ini_get('date.timezone') )
{
   date_default_timezone_set('GMT');
}

但是,它仍然显示为-1小时,所以我假设我需要为MySQL设置某种默认设置...

我在我的模型中包含了以下代码行:

代码语言:javascript
复制
   function __construct()
    {
        // Call the Model constructor
        parent::__construct();
        $this->db->query("SET time_zone='+0:00'");
    }

还是没什么区别。帮助!

我的代码是:

代码语言:javascript
复制
<h3><?=date('D, jS F @ g:ia', strtotime($row->datetime))?></h3>

$row->datetime变量只不过是我的MySQL数据库中的一个DATETIME列值。视图中的回显变量总是比我的数据库中的值少1小时...

我的模型代码是:

代码语言:javascript
复制
function coming_up()
{
    $this->db->query("SET time_zone='+0:00'");
$query = $this->db->query('SELECT * FROM events1 WHERE datetime >= NOW() ORDER BY datetime LIMIT 2');
return $query->result();
}
EN

回答 5

Stack Overflow用户

发布于 2013-07-02 21:30:11

在你的config file中添加这些行,然后检查一下,它对我来说是有效的

代码语言:javascript
复制
$config['time_reference'] = 'gmt';# Default should be GMT
date_default_timezone_set('UTC');# Add this line after creating timezone to GMT for reflecting
票数 2
EN

Stack Overflow用户

发布于 2019-10-03 19:32:48

我也面临着这个问题。我试过这种方式..。

代码语言:javascript
复制
$this->db->query("SET LOCAL time_zone='Asia/Kolkata'");
$query="SELECT * FROM offers where NOW() between offfer_from and offer_to";
$res=$this->db->query($query);

它在我的项目中会工作得很好,而且我没有使用任何新的默认模型。如果你想要全局解决方案,你可以使用自动加载一些模型。

票数 1
EN

Stack Overflow用户

发布于 2021-01-21 14:58:47

为MySQL设置默认核心:转到: Your_Project/system/core/Model.php,然后更新此函数:

代码语言:javascript
复制
public function __construct() {
    $this->db->query("SET time_zone='YOUR_TIME_ZONE'");     
}

为PHP设置default_time_zone :转到Your_Project/index.php并在此处更新:

代码语言:javascript
复制
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
date_default_timezone_set('YOUR_TIME_ZONE');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17426887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档