[英]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.