У меня проблема с отображением дат в выводе JSON.В коде я использую java.util.Date
и его значение 2019-03-07
, но в JSON я получил 2019-03-06 23:00:00
.Я думаю, что проблема в часовом поясе, но я не использую часовые пояса в БД и в коде тоже.
Я пытался исправить это с помощью
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone="UTC")
и
@JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone="Europe/Warsaw")
Первое не помогло, второе помогло, но я не принимаю это решение.
Часть моего контроллера:
return new ThisDay(
sysoperMgr.getToday(),
new Date()
);
Это объект, который я возвращаю.
@Getter
@Setter
public class ThisDay {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
Date dataZamkniecia;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
Date dataSystemowa;
public BiezacaDoba(Date dataZamkniecia, Date dataSystemowa) {
this.dataZamkniecia = dataZamkniecia; // cdate = 2019-03-07T00:00:00.000+0100
this.dataSystemowa = dataSystemowa; // cdate = 2019-03-27T16:08:12.343+0100
}
}
Эта функция получает дату:
public Date getToday() {
Timestamp timestamp = sysoperDao.getDataOstatniejZamknietejDoby(); // cdate = 2019-03-06T00:00:00.000+0100
java.util.Date lastDay = new java.sql.Date(misc.roundTimestamp(timestamp).getTime()); // cdate = 2019-03-06T00:00:00.000+0100
java.util.Date thisDay = misc.incrementDate(ostatniaDoba, Increment.DAILY, 1); // cdate = 2019-03-07T00:00:00.000+0100
return thisDay;
}
Результат Json:
{
"dataZamkniecia":"2019-03-06 23:00:00",
"dataSystemowa": "2019-03-27 15:12:15"
}
Как это сделатьполучить JSON для отображения даты всегда в местном часовом поясе?