【发布时间】:2016-10-04 14:45:27
【问题描述】:
当使用@DateTimeFormat 获取日期为@PathVariable 时,我正在尝试使用spring 的自动字符串到日期转换。自动转换完成,但由于某种原因,日期被转换为我过去的日期减去四个小时(复活节夏令时,服务器和客户端都位于)。
例子:
URL:.../something/04-10-2016/somename 将产生值为 2016/10/03 20:00:00 的 someDate 对象(即前一天晚上 8 点,比我过去的日期晚 4 小时。)
如何避免这种自动时区转换。我不需要任何时区信息,这种转换打破了我的预期。
这是我的代码:
@RequestMapping(value = "/something/{someDate}/{name}", method = RequestMethod.GET, headers = "Accept=application/json")
@ResponseBody
public SomeObject getDetails(@PathVariable @DateTimeFormat(pattern = "dd-MM-yyyy") Date someDate,
@PathVariable String name) {
// date here comes as GMT - 4
// more code here
// return someObject;
}
现在,我通过将路径变量读取为字符串并使用 SimpleDateFormatter 手动将字符串转换为日期来解决此问题。
知道如何在没有时区转换的情况下进行自动转换吗?
【问题讨论】:
标签: java spring rest spring-mvc datetime-format