Изменить дату после добавления календаря в базу данных - PullRequest
0 голосов
/ 25 апреля 2019

Когда я пытаюсь добавить новую запись времени в мое приложение БД, первые дни меняются и разрушают иерархию. Первые два дня моей недели изменились.

Я пытаюсь изменить часовой пояс с CET на UTC и CEST

Когда я публикую дни от 25 до 31 дня в БД, возвращаются:

2019-03-25
2019-03-25
2019-03-27
2019-03-28
2019-03-29
2019-03-30
2019-03-31

Но в следующий раз, когда я получу на этой неделе почтальона, он вернется:

{

    "day": "SUNDAY",
    "date": "2019-03-24",
    "hours": 0,
    "status": "SAVED",
    "comment": ""
},
{
    "day": "SUNDAY",
    "date": "2019-03-24",
    "hours": 5,
    "status": "REJECTED",
    "comment": ""
},
{
    "day": "MONDAY",
    "date": "2019-03-25",
    "hours": 9,
    "status": "REJECTED",
    "comment": ""
},
{
    "day": "TUESDAY",
    "date": "2019-03-26",
    "hours": 9,
    "status": "SAVED",
    "comment": ""
},
{
    "day": "WEDNESDAY",
    "date": "2019-03-27",
    "hours": 9,
    "status": "SAVED",
    "comment": ""
},
{
    "day": "THURSDAY",
    "date": "2019-03-28",
    "hours": 9,
    "status": "SAVED",
    "comment": ""
},
{
    "day": "FRIDAY",
    "date": "2019-03-29",
    "hours": 9,
    "status": "SAVED",
    "comment": ""
}

Мой драйвер БД:

DATABASE_URL=jdbc:mysql://localhost:3306/restdb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=CET

1 Ответ

0 голосов
/ 25 апреля 2019

Используйте правильные типы данных.

DATE

В MySQL столбец таблицы должен иметь тип DATE.

Этот тип схож с типом стандарта SQL DATE для значений только для даты без времени суток и без часового пояса.

LocalDate

Получите значение строки даты в виде LocalDate, как уже много раз показано в Переполнении стека.

Класс LocalDate не имеет часового пояса, поэтому вы не должны видеть никаких настроек.

LocalDate.parse( "2019-01-23" )

Или:

LocalDate ld = myResultSet.getObject( date_col , LocalDate.class ) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...