Хранение информации о времени: часовой пояс требуется?

Мне любопытно узнать, является ли то, что я рассматриваю, плохой практикой, или, поскольку это конкретный и осознанный выбор, на самом деле это достойная идея. Я хочу хранить информацию для дат событий, которые происходят в определенных городах. Я хочу сохранить эти данные как метки времени UTC. Не лучше ли было бы просто сохранить временную метку и идентификатор города / идентификатора страны (который связан с конкретным часовым поясом), а не сохранять часовой пояс для каждого события? Я спрашиваю, потому что часовые пояса могут меняться, но идентификаторы городов в БД никогда не изменятся. Как только сервер синхронизируется с последним часовым поясом в (маловероятном) событии изменения часового пояса, это событие будет независимым и не будет затронуто этим изменением. Однако, скажем, часовой пояс меняет свои границы, тогда события, которые произошли в этом часовом поясе ранее, могут быть вне его. Не кажется ли это неразумным делать это? Мне просто интересно, и я искал лучшие практики, но в этом случае это на самом деле кажется хорошей идеей. Это работает, в частности, потому что модель дизайна приложения никогда не изменится - события ВСЕГДА будут связаны с конкретным городом.

Основной поток будет:

Данные о событиях с указанием даты / местоположения поступают в систему в стандартном формате, таком как строка ISO-8601 ГГГГ-ММ-ДД.

Система преобразует дату в метку времени UTC и сохраняет дату с событием, используя эту метку времени и идентификатор города для события.

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

Это ужасная идея? Есть ли польза от этого, и является ли концепция хранения TZ Offset такой же идеей для устранения этой проблемы?

Ответы на вопрос(3)

Ваш ответ на вопрос