【发布时间】:2014-02-04 21:13:34
【问题描述】:
我有一种情况,我在两个不同的 codeigniter 控制器中使用 php 函数 gmdate()。控制器以完全相同的调用返回 6 小时的差异。
下方是返回正确 GMT 日期的控制器,下方是 6 小时休息的控制器。希望这只是我在某个地方的疏忽。提前感谢您的帮助。
public function update_current_user($session_id){
$this->load->helper('date');
$this->load->helper('url');
$currentURL = base_url().uri_string();
$updateData = array(
'id'=>$session_id ,
'last_updated'=>gmdate("Y-m-d H:i:s",time()),
'current_url'=> $currentURL
);
$this->db->where('id',$session_id);
$this->db->update('current_visitors', $updateData);
return true;
}
下面是返回 6 小时休息的那个。
public function initiate_chat($id,$name)
{
$this->load->helper('date');
$this->load->helper('url');
$currentURL = base_url().uri_string();
$updateData = array(
'id'=>$id ,
'last_updated'=>gmdate("Y-m-d H:i:s",time()),
'chat_requested_time'=>gmdate("Y-m-d H:i:s",time()),
'requested_chat'=>1,
'name'=>$name,
);
$this->db->where('id',$id);
$this->db->update('current_visitors', $updateData);
return $name;
}
【问题讨论】:
-
控制器中是否有任何 date_default_timezone_set,可能会被丢弃?如果没有,您可以尝试在每个控制器中放置一个,将其设置为正确的时区,看看是否有任何不同
-
我没有 date_default_timezone_set 在其中任何一个。但是我只是把它放在他们两个中,现在他们显示出一致的结果。感谢您的帮助!
标签: php codeigniter