dzheka3d
@dzheka3d

Как скорректировать время из БД?

Всем привет! Хочу сделать на сайте выбор временной зоны для пользователей.
Например. Пользователь укажет временную зону America/Santo_Domingo, на php вроде все понятно. Я просто перед выводом устанавливаю временную зону вот так:
date_default_timezone_set('America/Santo_Domingo');
// и дальше вывожу текущее время, т.к. зона по умолчанию на сервере UTC
date("H:i", time());

Но это с текущим временем (не часто мне нужно выводить текущее время), куда важнее время которое хранится в бд.
Предположим я его тоже записываю как UTC. И пришло время получить данные из БД
$res = $db->query("SELECT `date` FROM `news` WHERE `id` = 1234");
$row = $res->fetch_assoc();

echo date("H:i", $row['date']);


1. Тут скрипт выведет время записанное в БД. А как его вывести относительно того, которое пользователь сохранил как по умолчанию для своего профиля?
2. И как в этом случае хранить данные о их часовом поясе?
  • Вопрос задан
  • 139 просмотров
Решения вопроса 1
qonand
@qonand
Software Engineer
1. устанавливаете временную зону с помощью PHP и все функции работы с датой будут ее подхватывать, т.е. код date("H:i", $row['date']) - вернет дату в указанной временной зоне.
2. Хранить в профиле пользователе.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы