Я хочу изменить формат java.sql.Timestamp
глобально .
Установите формат даты для вашего ObjectMapper
экземпляра:
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"));
В приложениях Spring вы можете представить экземпляр ObjectMapper
в виде компонента:
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S"));
return mapper;
}
В Spring Boot вы можете использовать свойство spring.jackson.date-format
для определения формата даты:
spring.jackson.date-format: yyyy-MM-dd HH:mm:ss.S
Подробнее об общих свойствах приложения см. В документации .
Рассмотрим следующий код:
Map<String, Object> data = new HashMap<>();
data.put("date", new Timestamp(ZonedDateTime.now().toInstant().toEpochMilli()));
System.out.println(mapper.writeValueAsString(data));
Будет напечатано:
{"date":"2018-04-26 07:25:14.408"}