Поиск…


Как установить часовой пояс в CodeIgniter

Размещение 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');

Другим способом, который я нашел полезным, является то, что вы хотите установить часовой пояс для каждого пользователя:

  • Создайте файл MY_Controller.php .

  • Создайте столбец в своей user таблице, вы можете назвать его часовой пояс или любую вещь, которую хотите. Таким образом, когда пользователь выбирает свой часовой пояс, он может быть установлен на свой часовой пояс при входе в систему.

приложение / ядро / 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 />";
 }

Другой способ установить часовую зону в кодеринговом

Чтобы установить часовой пояс в Codeigniter, добавив помощник даты, это альтернативный способ. Для этого необходимо следовать следующим двухэтапным действиям.

  1. Введите вспомогательную дату с помощью следующей функции:
if ( ! function_exists('now'))
{
    /**
    * Get "now" time
    *
    * Returns time() based on the timezone parameter or on the
    * "time_reference" setting
    *
    * @param    string
    * @return    int
    */
    function now($timezone = NULL)
    {
        if (empty($timezone))
        {
            $timezone = config_item('time_reference');
        }
        if ($timezone === 'local' OR $timezone === date_default_timezone_get())
        {
            return time();
        }
        $datetime = new DateTime('now', new DateTimeZone($timezone));
        sscanf($datetime->format('j-n-Y G:i:s'), '%d-%d-%d %d:%d:%d', $day, $month, $year, $hour, $minute, $second);
        return mktime($hour, $minute, $second, $month, $day, $year);
    }
}
  1. Теперь установите часовой пояс как значение time_reference config.php например: $config['time_reference'] = 'Asia/Dhaka';

Все это настроено на использование часового пояса.

FYI: список списка часовых поясов добавляется в первом примере.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow