【发布时间】:2015-10-15 19:38:23
【问题描述】:
在客户端,我使用 dd/MM/yyyy 日期格式。该字段使用 twitter bootstrap 3 日期时间选择器 (https://eonasdan.github.io/bootstrap-datetimepicker/)
我通过 twitter bootstrap 3 日期时间选择器输入 24/07/2015
在我发送的 json 中,我看到:生日:“24/07/2015”
在我的 dto 中,我愿意
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private Date birthdate;
当我在服务器上收到日期时,在我的 d 中看到:23/07/2015 19:00
一天过去了。
有什么解释吗?
【问题讨论】:
-
您是否检查过系统上的当地时间设置?
-
客户端/服务器在同一台机器上:两者都是 edt -4 小时(mtl 时间)...
-
绝对是时区转换问题。一方面将时间视为UTC,另一方面将转换为本地时间。我们在与第 3 方系统的某些客户端/服务器集成中遇到了这个问题。死的赠品是加到其他时间的“19:00”,正好是5个小时的时差(实际上不是一整天)。
-
浏览器端我得到了一个新日期:2015 年 7 月 24 日星期五 23:49:26 GMT-0400 (EDT)。在我得到的服务器上:Fri Jul 23:49:26 EDT 2015. 我认为东部夏令时 (EDT) = GMT-4 (USA + Canada)
-
如果您使用 Postman 等工具查询您的服务,日期是否不正确?就我而言,问题出在 restTemplate 客户端,而不是在服务器中。
标签: java json jackson orika spring-restcontroller