В моем случае я устанавливаю UTC как часовой пояс для всего: системы, сервера базы данных и т. Д. Каждый раз, когда могу. Если моему клиенту требуется другой часовой пояс, я настраиваю его в приложении.
Я почти всегда предпочитаю метки времени, а не поля даты и времени, потому что метки времени включают в себя часовой пояс неявно. Итак, с того момента, как к приложению будут обращаться пользователи из разных часовых поясов, и вы хотите, чтобы они видели даты и время в своем местном часовом поясе, этот тип поля делает это довольно легко, чем если бы данные были сохранены в полях datetime .
В качестве плюса, в случае переноса базы данных в систему с другим часовым поясом, я бы чувствовал себя более уверенно, используя временные метки. Не говорить о возможных проблемах при расчете различий между двумя моментами с изменением времени Шумера между ними и с точностью до 1 часа или менее.
Итак, чтобы подвести итог, я ценю это преимущество отметки времени:
- готов к использованию в международных приложениях (с несколькими часовыми поясами)
- легкая миграция между часовыми поясами
- довольно легко вычислить разницу (просто вычтите обе отметки времени)
- не беспокойтесь о датах в / из летнего периода
По всем этим причинам я выбираю поля UTC и отметки времени, где это возможно. И я избегаю головных болей;)