Как правильно работать с датой в Spring, Hibernate?

Я хочу, чтобы в будущем даты, которые я буду хранить и использовать в своем приложении, не зависели от сервера, где крутится API на Spring.

Например, распростаренная задача. При сохранеии статей(постов) должна сохраняться дата её создания. Я хочу, чтобы пользователь видел, дату и время соответствующую именно его часовому поясу, а не часовому поясу сервера.

Я правильно понимаю, что общий порядок работы в этом случае такой:

  1. В Spring я настраиваю timezone по-умолчанию. Например, беру за основу Московское время;
  2. На клиенте я так же указываю часовой пояс по-умолчанию, для того, чтобы знать какой часовой пояс указывается на сервере;
  3. Впоследствии при получении клиентом(на Vue.js) данных даты будут приобразовываться на стороне пользователя в часовой пояс пользователя?
  4. Следовательно, если я взял определенный часовой пояс за основу, то в базе данных(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. На сколько вообще это актуально? Или обычно такой задачей не задаются и отображают время создания объектов на сайте Московским.


Ответы (0 шт):