Codeigniter 3 - как отображать дату и время в часовом поясе пользователя - PullRequest
2 голосов
/ 12 апреля 2019

Я использую codeigniters 'timezone_menu ().Я храню ссылку на часовой пояс в моей базе данных.

Ссылка на часовой пояс выглядит как UM12, UM11, UM10, UTC, UP1, UP2 и т. Д. И т. Д.

с часовых поясов () Я могу получить разницу часов от UTC.Я хочу установить часовой пояс пользователя с помощью date_default_timezone_set ('UTC');но этот метод не принимает ссылки на часовые пояса, которые использует CI.Как я могу это сделать, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Функции CodeIgniter TimeZone используют пользовательское имя для своего часового пояса: UM12, UM11, UM10, UTC, UP1 ...

Они не распространены и поэтому будут работать только для собственных функций TimeZone CodeIgniter, которые timezone_menu() и timezones().

PHP-функция date_default_timezone_set() ожидает правильный идентификатор TimeZone как Europe/Paris.

Лучшим способом было бы использовать что-то еще для создания вашего списка TimeZone. Но я понимаю ваш интерес к использованию внутренней библиотеки CI, а не к поиску еще одной библиотеки, которая сделает это за вас.

Так что, я думаю, вам нужно найти функцию, которая принимает идентификаторы TimeZone CI и выводит идентификаторы TimeZone PHP. Этот SO-ответ , кажется, имеет то, что вы ищете.

0 голосов
/ 12 апреля 2019

Хорошо, поэтому в config / config.php есть переменная time_zone

$timezone = session_value ?? dfault_value;

Как только пользователь войдет в вашу систему, назначьте значение времени и отправьте эту переменную в конфигурацию или создайте ловушку, извините, я немного спешу, я искал что-то еще, но я думаю, что это точно сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...