Как правильно работать с датой в Spring, Hibernate?
Я хочу, чтобы в будущем даты, которые я буду хранить и использовать в своем приложении, не зависели от сервера, где крутится API на Spring.
Например, распростаренная задача. При сохранеии статей(постов) должна сохраняться дата её создания. Я хочу, чтобы пользователь видел, дату и время соответствующую именно его часовому поясу, а не часовому поясу сервера.
Я правильно понимаю, что общий порядок работы в этом случае такой:
- В Spring я настраиваю timezone по-умолчанию. Например, беру за основу Московское время;
- На клиенте я так же указываю часовой пояс по-умолчанию, для того, чтобы знать какой часовой пояс указывается на сервере;
- Впоследствии при получении клиентом(на Vue.js) данных даты будут приобразовываться на стороне пользователя в часовой пояс пользователя?
- Следовательно, если я взял определенный часовой пояс за основу, то в базе данных(PostgreSQL) можно использовать тип столбца timestamp without timezone, так Hibernate создал мне столбец в DB, по-умолчанию исходя из следующих настреок столбца в Entity:
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATED_ON", updatable = false)
@org.hibernate.annotations.CreationTimestamp
private Date createdOn;
P.S. На сколько вообще это актуально? Или обычно такой задачей не задаются и отображают время создания объектов на сайте Московским.