Я работаю на странице настроек пользователя, где некоторые настройки по умолчанию для пользователя, такие как часовой пояс пользователя по умолчанию, формат даты пользователя, формат времени пользователя.
Я могу сохранить пользовательские настройки в моей базе данных и получить их. но когда пользователь меняет свой часовой пояс, он устанавливается правильно, но не показывает дату в соответствии с последним часовым поясом.
Например, текущий часовой пояс пользователя - «Азия / Калькутта», и когда он обновляет часовой пояс на любой другой часовой пояс, например «Америка / Нью-Йорк», сведения сохраняются в базе данных, а также отображается текущий часовой пояс «Америка / Нью-Йорк», но он не отражает дату и время 'America / New_York'. он показывает только время «Азия / Калькутта». При повторном входе в систему того же пользователя отображается правильное время в соответствии с последним обновленным часовым поясом.
Я уже пробовал ниже код
$utc_time = $dateinfo; // date from database
$timezone = $ci->session->userdata('user_settings')->TIME_ZONE; // user last updated timezone
$date_obj = new DateTime($utc_time, new DateTimeZone($ci->session->userdata('user_settings')->TIME_ZONE));
$date_obj->setTimeZone(new DateTimeZone($timezone));
$display_date = $date_obj->format(get_datetimeformat() . '(e)');
return $display_date; // show date based on updated timezone
Я ожидаю показать дату и время в зависимости от выбранного часового пояса без повторного входа.
Если кто-нибудь может помочь мне в правильном направлении, это будет очень полезно.
Спасибо