App + Db. Хранить в БД время без смещения в UTC(timestamp), отдав на откуп приложению работу с часовыми поясами. Или же использовать timestampz?
В документации нашел упоминание что Стандарт SQL требует, чтобы тип timestamp подразумевал timestamp without time zone (время без часового пояса), и PostgreSQL следует этому.
https://postgrespro.ru/docs/postgresql/9.5/datatype-datetime
стандарт требует, постгрес следует, но не советует :)
на самом деле зависит от условий конкретного проекта, на ms sql такая же проблема выбора.
Если Вам нужно хранить не даты, а именно timestamp-ы (дату и время / "абсолютное" время какого-то события) — используйте timestamptz. Если именно дату — используйте date (тогда часовые пояса тут ни при чём, по определению).
Обсуждают сегодня