Некоторое время назад я работал над конкретным проектом, используя Spring на бэкэнде. Система должна работать в нескольких часовых поясах. Поэтому было решено использовать целочисленные значения (Long) для хранения и переноса дат между сервером и веб-приложением. Как я помню, основной причиной было упрощение и минимизация работы с часовыми поясами, поскольку временная метка всегда будет представлять точное время, и мы всегда можем извлечь из нее дату, не беспокоясь о неправильном часовом поясе (браузер пользователя будет применять правильный часовой пояс).
В то время я мало занимался архитектурой, так как был всего лишь младшим. Но с тех пор я не видел никакого применения этой практики, и я ничего не могу найти в Интернете.
Я знаю, что есть некоторые случаи, когда нам не нужно полагаться на часовые пояса, например, когда яЯ не хочу, чтобы мой будильник менялся в соответствии с новым часовым поясом. Но я все еще хочу, чтобы мое напоминание сообщало мне, когда мне нужно сделать важный звонок в нужное время. Я считаю, что второй случай гораздо чаще встречается в программном обеспечении.
Поэтому я хотел бы знать, есть ли реальная выгода от использования числовых временных меток?
Я вижу по крайней мере два потенциальных преимущества:
- Меньше хлопот с часовыми поясами (особенно для менее опытных разработчиков, которые могут запутаться при работе с датами)
- Меньше данных передается через REST (?)
Недостатки:
- Мы должны извлекать значение даты каждый раз, чтобы обрабатывать или отображать его (это может быть автоматизировано с использованием большинства сред внешнего интерфейса)
- Значения базы данных и серверотладка не так очевидна