我有以下方法,可以接受两个ISO 8601格式的日期参数。但是,当我打印这些日期时,我丢失了秒,毫秒和时区“ Z”。即使秒和毫秒为0,如何保留整个日期?
@RequestMapping(method=RequestMethod.GET, value="/status")
public StatusObject getStatus(@RequestParam("id") String id,
@RequestParam("startTime")@DateTimeFormat(iso=DateTimeFormat.ISO.DATE_TIME) LocalDateTime startTime,
@RequestParam("endTime")@DateTimeFormat(iso=DateTimeFormat.ISO.DATE_TIME) LocalDateTime endTime) throws Exception{
StatusObject statusObject = null;
System.out.println("startTime: "+ startTime);
System.out.println("endTime: "+ endTime);
return statusObject;
}
输出: 开始时间:2018-05-03T15:00 结束时间:2018-05-03T18:00
答案 0 :(得分:4)
在您的情况下,如果您使用包含seconds=0
和milliseconds=0
(HH:mm:00.000
)的参数,则LocalDateTime
仅输出为HH:mm
如果要保存TimeZone
值,则应使用ZonedDateTime
,LocalDateTime
不支持此操作。
答案 1 :(得分:0)
通知零毫秒时,它似乎被忽略了。
我的输出: 开始时间:2018-05-03T15:00:00.957 结束时间:2018-05-03T18:00:00.555