[英]How to set time zone in codeigniter?
我正在使用 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 上面的基本 url 上也有效
PHP支持的时区列表
应用程序/配置/config.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
我发现使用 full 的另一种方法是,如果您希望为每个用户设置一个时区
创建一个 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';
在 codeigniter 文件夹的主index.php
中添加这一行
date_default_timezone_set('Asia/Kolkata');
你可以试试这个:
date_default_timezone_set('Asia/Kolkata');
在application/config.php或application/autoload.php
有这样的:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
date_default_timezone_set('Asia/Kolkata');
它对我来说很好用,我认为这是在 codeignitor 中定义 DEFAULT TIMEZONE 的最佳方式。
将此行添加到应用程序文件夹中的 autoload.php 中:
$autoload['time_zone'] = date_default_timezone_set('Asia/Kolkata');
作为描述在这里
打开你的php.ini
文件(寻找它)
在文件顶部添加以下代码行:
date.timezone = "US/Central"
通过转到phpinfo.php
验证更改
将它添加到您的index.php文件中,它将在您的整个站点上运行
if ( function_exists( 'date_default_timezone_set' ) ) {
date_default_timezone_set('Asia/Kolkata');
}
将它添加到您的 project/application/config/config.php 文件中,它将在您的整个站点上运行。
date_default_timezone_set('Asia/Kolkata');
在 application/config 文件夹中,获取文件 config.php 并检查以下内容:
$config['time_reference'] = '';
将值更改为您的首选时区。 例如将时区设置为肯尼亚内罗毕: $config['time_reference'] = 'Africa/Nairobi';
将它放在config/config.php
,它将适用于整个应用程序或 codeigniter 的index.php
。
将它添加到您的project/index.php
文件中,它将在您的整个站点上运行。
date_default_timezone_set('亚洲/喀布尔');
如何在 CodeIgniter 4 中设置默认时区
浏览并编辑
/app/Config/App.php
在第 103 行你会发现
public $appTimezone = 'America/Chicago';
您可以更改为支持时区列表中可用的任何时区
在 CI4 中,您可以在项目根目录中使用 .env 文件(手动创建)。 参考Codeigniter4 环境变量
app.appTimezone = "Asia/Kolkata"
您可以在application/autoload.php 中找到“time_zone”字符串
$autoload['time_zone'] = date_default_timezone_set('America/Toronto');
这对我有用。 谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.