java - @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") 不工作
问题描述
@UpdateTimestamp
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
@Column(name = "modify_date")
private Date modifyDate;
当新记录保存在数据库中时,它会像这样保存 DateTime “2020-12-13 11:41:34.528000000”,但我希望它像这样保存“2020-12-13 11:41:34”
解决方案
这里有几个问题。首先,在您的数据库中,如果您将列定义为日期或时间戳,则您无法控制数据库内部如何存储它。您可以控制从 DB 读取它的客户端如何表示它。但这就是你所需要的。
第二,避免过时的类Date
和使用java.time
包。就您而言,您可能对课程感兴趣LocalDateTime
或可能感兴趣ZonedDateTime
。
更改为适当的类后,更改注释
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
至
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
有关更多详细信息,请参阅此问题的答案
推荐阅读
- java - 使用扫描仪添加到空对象
- python - 用beautifulsoup从span中提取元素
- javascript - 如何在不同的标签中选择嵌套元素?
- unity3d - 将鼠标位置转换为世界位置会产生恒定的结果
- c++17 - 如何形成用户给出的加起来为 4 的不同音符的组合?
- plotly - 如何将回调应用于函数中定义的任意组件 ID 值?
- c# - 使用 LINQ 和 EF Where 子句理解嵌套包含
- c - 为什么 mlock 会失败?
- docker - 在 buildroot 系统上从 Docker 打开端口
- firebase - 如何在 Firestore 数据库字段中添加这些数据(范围形式的数据)?