web-dev-qa-db-ja.com

codeigniterでタイムゾーンを設定する方法

私はcodeigniterを使用してphpプロジェクトで働いています。 phpとmysqlのタイムゾーンを設定するグローバルな方法を教えてください。どのファイルでこれを設定できます。 php.iniおよび.htaccessファイルなしで設定したい。

現在、私はすべてのエントリの前にこれを使用しています-

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

このdate_default_timezone_set('Asia/Kolkata');をベースURLの上にあるconfig.phpに配置しても機能します

PHP サポートされているタイムゾーンのリスト

application/config.php

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');

私が完全に使用していることがわかった別の方法は、各ユーザーにタイムゾーンを設定したい場合です

MY_Controller.phpを作成します

ユーザーテーブルに列を作成します。タイムゾーンまたは任意の名前を付けることができます。そのため、ユーザーがタイムゾーンを選択するときに、ログイン時にタイムゾーンを設定できます。

application/core/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>";
 }
76
Mr. ED

Codeigniterフォルダーのメインindex.php内にこの行を追加します

date_default_timezone_set('Asia/Kolkata');
6
Saty

プロジェクト全体でタイムゾーンを設定している場合は、CI application/config.phpファイルを設定できます

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

アプリケーションフォルダーのautoload.phpに次の行を追加します。

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

こちら

  1. php.iniファイルを開きます(探します)

  2. ファイルの先頭に次のコード行を追加します。

    date.timezone = "US/Central"

  3. phpinfo.phpに移動して、変更を確認します

3
theGreenCabbage

index.phpファイルに追加すると、サイト全体で機能します

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

これを試すことができます:

date_default_timezone_set('Asia/Kolkata');

application/config.php OR application/autoload.php

次のようになります。

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

date_default_timezone_set('Asia/Kolkata');

私にとってはうまく機能しています。これはcodeignitorでDEFAULT TIMEZONEを定義する最良の方法だと思います。

2
kishan Radadiya

config/config.phpに入れてください。アプリケーション全体またはcodeigniterのindex.phpで機能します。

1
shankar kumar

project/index.phpファイルに追加すると、サイト全体で機能します。 date_default_timezone_set( 'Asia/kabul');

0
hedayat

Project/application/config/config.phpファイルに追加すると、サイト全体で機能します。

date_default_timezone_set('Asia/Kolkata');
0
Nijas