我正在使用codeigniter在php项目中。请告诉我为php和mysql设置时区的全局方法是什么。我可以在哪个文件中进行设置。我想将其设置为不包含php.ini和.htaccess文件。
目前我在每次输入之前都在使用它-:
date_default_timezone_set("Asia/Kolkata"); $time = Date('Y-m-d h:i:s');
将其放置date_default_timezone_set('Asia/Kolkata');在基本网址上方的config.php上也可以
date_default_timezone_set('Asia/Kolkata');
PHP 支持的时区列表
application / config.php
<?php defined('BASEPATH') OR exit('No direct script access allowed'); date_default_timezone_set('Asia/Kolkata');
我发现使用满的另一种方法是,如果您希望为每个用户设置时区
创建一个MY_Controller.php
在用户表中创建一列,您可以将其命名为时区或任何您想要的名称。这样,当用户选择他的时区时,可以将其设置为登录时的时区。
application / core / 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>"; }