Spring 如何将即时开始、结束日期传递为@RequestParam

Spring 如何将即时开始、结束日期传递为@RequestParam,spring,spring-boot,Spring,Spring Boot,如何通过模式yyyy-MM-dd传递即时startDate,endDate作为@RequestParam Instant startDate,Instant endDate,使请求看起来像localhost:port/api/entity=startDate=2019-10-10?endDate=2019-10-15如何执行 @RequestParam("from") @DateTimeFormat(iso = ISO.DATE) Instant startDate, @

如何通过模式
yyyy-MM-dd
传递即时startDate,endDate作为
@RequestParam Instant startDate,Instant endDate
,使请求看起来像
localhost:port/api/entity=startDate=2019-10-10?endDate=2019-10-15
如何执行

@RequestParam("from") @DateTimeFormat(iso = ISO.DATE) Instant startDate,
            @RequestParam("to") @DateTimeFormat(iso = ISO.DATE) Instant endDate)

这对我没有帮助,
无法将“java.lang.String”类型的值转换为所需类型“java.time.Instant”
甚至尝试了
模式
。还有一个问题是,当我在yyyy-MM-dd HH:MM:ss创建实体时,我如何忽略秒数,以便在传递日期和小时数时,只显示结果。

您可以使用
yyyy-MM-dd HH:MM:ss
您想要的日期格式

@RequestParam("from") @DateTimeFormat(iso = "yyyy-MM-dd HH:mm:ss")
                                      Instant startDate, 
@RequestParam("to") @DateTimeFormat(iso = "yyyy-MM-dd HH:mm:ss") 
                                    Instant endDate)

DateTimeFormat.ISO.DATE
替换为
DateTimeFormat.ISO.DATE\u TIME

格式即时获取:
yyyy-MM-dd'HH:MM:ss.SSSXXX

代码如下:

@GetMapping("/getlist")
public void method(@RequestParam("from") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Instant startDate,
            @RequestParam("to") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) Instant endDate)) {

      // code

}

这应该是可行的。

如果您希望有一个合适的日期时间格式来为您提供处理时区的能力,我建议您使用以下模式:

@DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSX") Date myDate 
这是一种常见的ISO日期时间格式,您可以轻松地将其转换为即时格式

e、 g.“2000-10-31T01:30:00.000-05:00”