我正在使用codeigniter在php项目中工作.请告诉我为php和mysql设置时区的全局方式是什么.在哪个文件中我可以设置它.我想在没有php.ini和.htaccess文件的情况下设置它.
目前我在每个条目之前使用它 - :
date_default_timezone_set("Asia/Kolkata");
$time = Date('Y-m-d h:i:s');
Run Code Online (Sandbox Code Playgroud)
Mr.*_* ED 79
将它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');
Run Code Online (Sandbox Code Playgroud)
我发现使用完全的另一种方法是,如果您希望为每个用户设置时区
创建一个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;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
还要获取php中的时区列表
$timezones = DateTimeZone::listIdentifiers(DateTimeZone::ALL);
foreach ($timezones as $timezone)
{
echo $timezone;
echo "</br>";
}
Run Code Online (Sandbox Code Playgroud)
如果您正在整个项目中查找全球设置时区,则可以将其设置为CI application/config.php文件
$config['time_reference'] = 'Asia/Dubai';
Run Code Online (Sandbox Code Playgroud)
在index.phpcodeigniter文件夹的主要部分中添加此行
date_default_timezone_set('Asia/Kolkata');
Run Code Online (Sandbox Code Playgroud)