如何在codeigniter中设置时区?

时间:2015-07-09 06:16:50

标签: php codeigniter

我正在使用codeigniter在php项目中工作。请告诉我为php和mysql设置时区的全局方式是什么。我可以在哪个文件中设置此项。我想在没有php.ini和.htaccess文件的情况下设置它。

目前我在每个条目之前使用它 - :

date_default_timezone_set("Asia/Kolkata");
$time =  Date('Y-m-d h:i:s');

13 个答案:

答案 0 :(得分:69)

将此date_default_timezone_set('Asia/Kolkata');放置在基本网址上方的config.php上也可以

PHP List of Supported Time Zones

<强> 应用/ 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>";
 }

答案 1 :(得分:6)

在codeigniter文件夹的主index.php内添加此行

date_default_timezone_set('Asia/Kolkata');

答案 2 :(得分:4)

如果您在整个项目中查看全局设置时区,则可以设置CI application/config.php文件

$config['time_reference'] = 'Asia/Dubai';

答案 3 :(得分:3)

描述here

  1. 打开php.ini文件(查找)

  2. 在文件顶部添加以下代码行:

    date.timezone = "US/Central"

  3. 转到phpinfo.php

  4. 验证更改

答案 4 :(得分:3)

将其添加到您的 index.php 文件中,它将在您的网站上运行

if ( function_exists( 'date_default_timezone_set' ) ) {
    date_default_timezone_set('Asia/Kolkata');
}

答案 5 :(得分:3)

将此行添加到应用程序文件夹中的autoload.php:

$autoload['time_zone'] = date_default_timezone_set('Asia/Kolkata');

答案 6 :(得分:2)

你可以试试这个:

DT[, Sales := as.numeric(gsub(",", "", Sales))]

application / config.php application / autoload.php

看起来像这样:

dcast

它对我来说很好,我认为这是在codeignitor中定义DEFAULT TIMEZONE的最佳方法

答案 7 :(得分:2)

在application / config文件夹中,获取文件config.php并检查以下内容:

$ config ['time_reference'] ='';

将值更改为您首选的时区。 例如,将时区设置为肯尼亚内罗毕: $ config ['time_reference'] ='非洲/内罗毕';

答案 8 :(得分:1)

将其放入config/config.php,它适用于整个应用程序或index.php codeigniter。

答案 9 :(得分:0)

将其添加到您的project / index.php文件中,它将在您的网站上运行。 date_default_timezone_set(&#39;亚/甲乙&#39);

答案 10 :(得分:0)

将其添加到您的project / application / config / config.php文件中,它将在您的网站上运行。

dyld: lazy symbol binding failed: Symbol not found: _COMP_zlib
  Referenced from: /Volumes/Work/projects/water_db_writer/libs/mysql/lib64/libssl.1.0.0.dylib
  Expected in: libcrypto.1.0.0.dylib

dyld: Symbol not found: _COMP_zlib
  Referenced from: /Volumes/Work/projects/water_db_writer/libs/mysql/lib64/libssl.1.0.0.dylib
  Expected in: libcrypto.1.0.0.dylib

答案 11 :(得分:0)

如何在 CodeIgniter 4 中设置默认时区

浏览和编辑

/app/Config/App.php

在第 103 行你会发现

public $appTimezone = 'America/Chicago';

您可以将其更改为支持的时区列表

中可用的任何时区

http://php.net/manual/en/timezones.php

答案 12 :(得分:0)

在 CI4 中,您可以在项目根目录中使用 .env 文件(手动创建)。参考Codeigniter4 environement variables

app.appTimezone = "Asia/Kolkata"