簡體   English   中英

使用SPRING BOOT時如何在RequestParams中保留ISO 8601日期格式

[英]How to retain ISO 8601 date format in RequestParams when using SPRING BOOT

我有以下方法可以接受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;

            }

輸入: http:// localhost:8080 / status?id = 123&startTime = 2018-05-03T15:00:00.000Z&endTime = 2018-05-03T18:00:00.000Z

輸出:開始時間 :2018-05-03T15:00結束時間:2018-05-03T18:00

在您的情況下,如果您使用包含seconds=0milliseconds=0HH:mm:00.000 )的參數, LocalDateTime將僅輸出為HH:mm

如果要保存TimeZone值,則應使用ZonedDateTimeLocalDateTime不支持此功能。

嘗試指定毫秒數: http:// localhost:8080 / status?id = 123&startTime = 2018-05-03T15:00:00.957Z&endTime = 2018-05-03T18:00:00.555Z

當通知零毫秒時,它似乎被忽略。

我的輸出 :開始時間:2018-05-03T15:00:00.957結束時間:2018-05-03T18:00:00.555

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM