【发布时间】:2019-03-17 01:22:17
【问题描述】:
我有以下 API
public ResponseEntity<ResponseDataToSeller> getTrackingDataByDate(@RequestBody RequestBodyBySeller requestBodyBySeller) {
System.out.println(requestBodyBySeller.getEndDate());
System.out.println(requestBodyBySeller.getEndDate().getDate());
System.out.println(requestBodyBySeller.getEndDate().getHours());
public class RequestBodyBySeller {
@ApiModelProperty(dataType="Date", notes = "endDate",required = true)
Date endDate;
当我使用 "endDate": "2018-10-11" 发出请求时,它会打印出来
2018-10-11 16:54:45.897 INFO 11996 --- [nio-8080-exec-2] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 3 ms
Wed Oct 10 20:00:00 EDT 2018
10
20
这会弄乱 SQL 查询,因为我正在测试 hit_date <= #{endDate}。它应该返回 2018-10-11 的结果,但事实并非如此,因为 Spring Boot 已将日期解释为 2018-10-10。将日期参数解析到 API 时,如何让 Spring Boot 使用 UTC 时区?
Spring Boot 1.5.13、MyBatis 3.4.5、MyBatis Spring 1.3.1
【问题讨论】:
标签: java spring spring-boot