【问题标题】:Setting timezone = "Asia/Kolkata" in @jsonformat and storing it in java.sql.timestamp converts 12 pm to 1 pm timesatmp to 00 am in spring hibernate在@jsonformat 中设置 timezone = "Asia/Kolkata" 并将其存储在 java.sql.timestamp 中将 12 pm 转换为 1 pm 时间atmp 到 00 am 在春季休眠
【发布时间】:2021-10-25 08:41:49
【问题描述】:
我正在使用
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss", timezone = "Asia/Kolkata")
private Timestamp startDateTime;
存储时间戳以 json 字符串形式出现。
但问题是它将 12 pm 到 1 pm 之间的时间转换为 00 am。
例如。 2021-10-25 12:30:00 转换为 2021-10-25 00:30:00。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签:
spring-data-jpa
timezone
timestamp-with-timezone
sql-timestamp
【解决方案1】:
问题的根本原因是您使用了h 而不是H。请注意,h 用于 12 小时时间格式(即带有 AM/PM 标记的时间),而H 用于 24 小时时间格式。所以,解决您的问题的方法是将格式更改为dd-MM-yyyy HH:mm:ss。
如果您想要时间中的 AM/PM 标记,请将格式更改为 dd-MM-yyyy hh:mm:ss a。