web-dev-qa-db-fra.com

Comment définir le fuseau horaire dans codeigniter?

Je travaille dans un projet php utilisant codeigniter. Veuillez m'indiquer quelle est la méthode globale pour définir le fuseau horaire pour php et mysql. Dans quel fichier je peux placer ceci. Je veux le définir sans php.ini et le fichier .htaccess.

je l'utilise actuellement avant chaque entrée -:

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

Placer cette date_default_timezone_set('Asia/Kolkata'); sur config.php au-dessus de l’URL de base fonctionne également

PHP Liste des fuseaux horaires pris en charge

application/config.php

<?php

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

date_default_timezone_set('Asia/Kolkata');

Si vous souhaitez définir un fuseau horaire pour chaque utilisateur, vous avez également défini une utilisation complète.

Créer un MY_Controller.php

créer une colonne dans votre table utilisateur, vous pouvez nommer le fuseau horaire ou tout ce que vous voulez. Ainsi, lorsque l’utilisateur sélectionne son fuseau horaire, il peut être réglé sur son fuseau horaire lors de la connexion.

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;
            }
        }
    }
}

Aussi pour obtenir la liste des fuseaux horaires en php

 $timezones =  DateTimeZone::listIdentifiers(DateTimeZone::ALL);

 foreach ($timezones as $timezone) 
 {
    echo $timezone;
    echo "</br>";
 }
76
Mr. ED

Ajoutez cette ligne dans le dossier principal index.php Du codeigniter

date_default_timezone_set('Asia/Kolkata');
6
Saty

Si vous cherchez à configurer globalement le fuseau horaire dans l’ensemble du projet, vous pouvez le configurer CI application/config.php fichier

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

Ajoutez cette ligne à autoload.php dans le dossier de l’application:

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

Comme décrit ici

  1. Ouvrez votre fichier php.ini (Cherchez-le)

  2. Ajoutez la ligne de code suivante en haut du fichier:

    date.timezone = "US/Central"

  3. Vérifiez les modifications en allant à phpinfo.php

3
theGreenCabbage

ajoutez-le dans votre fichier index.php, et il fonctionnera partout sur votre site

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

vous pouvez essayer ceci:

date_default_timezone_set('Asia/Kolkata');

Dans application/config.php OR application/autoload.php

Il y a comme ça:

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

date_default_timezone_set('Asia/Kolkata');

Cela fonctionne très bien pour moi, je pense que c'est la meilleure façon de définir DEFAULT TIMEZONE dans codeignitor.

2
kishan Radadiya

Mettre dans config/config.php, Cela fonctionnera pour toute l'application ou index.php de codeigniter.

1
shankar kumar

ajoutez-le à votre fichier project/index.php et il fonctionnera partout sur votre site. date_default_timezone_set ('Asia/kabul');

0
hedayat

Ajoutez-le à votre fichier project/application/config/config.php et il fonctionnera partout sur votre site.

date_default_timezone_set('Asia/Kolkata');
0
Nijas