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”