Json возражает: ставить дату в виде строки плохая практика? - PullRequest
0 голосов
/ 19 мая 2018

У меня есть следующий объект json:

public class User {
   private String name;
   @JsonFormat(pattern="dd-MM-yyyy")
   private Date birthdate;
}

, но я думаю изменить его на:

private String birthdate; //mmm...now need to make sure the format is respected..

Проблема в том, что этот объект должен быть сохранен внутриБД а потом извлекается.Предположим, у меня есть пользователь во время CEST, в то время как в моем приложении время UTC, так что на 2 часа больше.

Они отправляют "15-04-1990" (время подразумевается 00:00:00), системазатем интерпретирует эту дату как «14-04-1990» (время подразумевается 22:00:00) из-за разницы в 2 часа.Когда они снова начнут извлекать информацию, они увидят 14-04-1990!

Хорошо, я могу просто добавить часовой пояс отправителя к запросу.Но мне это не нравится: возьмите третье лицо, проживающее в стране приложения, которое хочет проверить некоторую информацию (например, оператор службы поддержки): они все равно увидят дату в неправильном часовом поясе!

Итак, сделайтеВы видите какие-либо проблемы с получением даты в виде строки?И если это будет хорошо, как убедиться, что строка содержит дату, отформатированную в "dd-mm-yyyy"?

1 Ответ

0 голосов
/ 19 мая 2018

Одной из вещей может быть сохранение объектов даты и времени в качестве метки времени по Гринвичу, а затем изменение каждого часового пояса относительно этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...