如何在代码中设置时区?
2022-08-30 09:43:35
我正在使用codeigniter的php项目中工作。请告诉我为php和mysql设置时区的全局方法是什么。我可以在哪个文件中设置它。我想在没有php.ini和.htaccess文件的情况下设置它。
目前,我在每个条目之前都使用它 -:
date_default_timezone_set("Asia/Kolkata");
$time = Date('Y-m-d h:i:s');
我正在使用codeigniter的php项目中工作。请告诉我为php和mysql设置时区的全局方法是什么。我可以在哪个文件中设置它。我想在没有php.ini和.htaccess文件的情况下设置它。
目前,我在每个条目之前都使用它 -:
date_default_timezone_set("Asia/Kolkata");
$time = Date('Y-m-d h:i:s');
将其放在配置.php上面的基本url上也可以工作date_default_timezone_set('Asia/Kolkata');
PHP 支持的时区列表
application/config/config.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
我发现使用完全的另一种方法是,如果您希望为每个用户设置时区
创建MY_Controller.php
在用户表中创建一个列,您可以将其命名为时区或您想要的任何内容。这样,当用户选择他的时区时,它可以在登录时设置为他的时区。
应用程序/核心/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>";
}
如果你正在寻找整个项目中的球状设置时区,那么你可以设置它CI文件application/config.php
$config['time_reference'] = 'Asia/Dubai';