java - PostgreSQL日期与Java即时

标签 java postgresql date java.time.instant

假设我在Java应用程序中有一个Instant类型的字段,并将其作为DATE类型存储在PostgreSQL数据库中。
如果我保存,例如21.02.2019 14:03:59它将被存储为21.02.2019但是当我从数据库读取时,它将如何被重新翻译?
会是:
21.02.2019 00:00:00.000
21.02.2019 23:59:59.000
我知道我应该用Timestamp来代替:)

最佳答案

那要看你是怎么看的。Instant和SQLDATE是不等价的,我不知道任何可靠的库,甚至可以让您从DATE读取到Instant。如果您自己编写的代码允许这样做,那么您可以让它以任何方式填充小时、分钟、秒和毫秒,即使它没有意义(因此,除非您显式地编写代码来将java.sql.Date转换为java.time.Instant,否则您的问题的真正答案将是“两者都不是”)。
如果您正在设计将实例存储为日期的软件,那么您的设计是有缺陷的。在Java端使用LocalDate,或者在数据库中使用TIMESTAMP

关于java - PostgreSQL日期与Java即时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54807934/

相关文章:

java - 可以从 Tenured 空间分配新对象吗?

java - 基于逻辑从不同来源加载数据的设计模式建议

performance - 如何在postgresql上执行快速连接

postgresql - PostgreSQL 的 "COPY table FROM file"语句可以在 Go 中使用吗?

java - Joda Time 错误还是我的错误? (Java Joda Time 日期作为字符串解析)

javascript - AngularJS:手动输入时如何验证日期格式(DD/MM/YYYY)

java - 如何将主题的所有记录存储在单个文件中?

java - JFrame 表现得像 JDialog?

javascript - 如何更新sequelize.query 中的多个列

php - MySql 在选择查询中返回不正确的日期值