如何在 CodeIgniter 中设置时区
将 date_default_timezone_set('Asia/Kolkata');
放置在基础 URL 上方的 config.php
上也可以。
PHP 支持的时区列表
应用程序/ config.php 文件
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
我觉得有用的另一种方法是,如果你想为每个用户设置一个时区:
-
创建
MY_Controller.php
文件。 -
在
user
表中创建一个列,你可以将其命名为时区或任何你想要的内容。这样,当用户选择他的时区时,可以在登录时将其设置为他的时区。
应用/型芯/ MY_Controller.php
<?php
class MY_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->set_timezone();
}
public function set_timezone() {
if ($this->session->userdata('user_id')) {
$this->db->select('timezone');
$this->db->from($this->db->dbprefix . 'user');
$this->db->where('user_id', $this->session->userdata('user_id'));
$query = $this->db->get();
if ($query->num_rows() > 0) {
date_default_timezone_set($query->row()->timezone);
} else {
return false;
}
}
}
}
另外,要获取 PHP 中的时区列表:
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
foreach ($timezones as $timezone) {
echo $timezone;
echo "<br />";
}