如何在 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 />";
}