gpt4 book ai didi

java - ResultSet.getTimestamp ("date") 与 ResultSet.getTimestamp ("date", Calendar.getInstance(tz))

转载 作者:搜寻专家 更新时间:2023-10-30 21:40:46 28 4
gpt4 key购买 nike

java.util.Datejava.util.Timetamp 似乎让很多人感到困惑。在 StackOverflow 中有很多问题,不幸的是我的问题有点扭曲。

有 2 个 JDBC api。他们应该如何表现? RDBMS 之间是否存在任何一致性?

ResultSet.getTimestamp("dateColumn") 
ResultSet.getTimestamp("dateColumn", Calendar.getInstance(tz))

如果有人了解 Sybase,能否请您分享您的经验?

最佳答案

首先,您混淆了 java.utiljava.sql。使用 PreparedStatement#setDate() 时和 ResultSet#getDate() , 你需要 java.sql.Date .类似地,当使用 PreparedStatement#setTimestamp() 时和 ResultSet#getTimestamp()你需要 java.sql.Timestamp .

其次,重要的是要了解 java.sql.Date 仅表示 date(年、月、日),仅此而已。这将映射到 SQL DATE 字段类型。 java.sql.Timestamp 表示时间戳(年、月、日、时、分、秒、毫秒),与java.util.Date 完全相同。和 java.util.Calendar做。这将映射到 SQL TIMESTAMPDATETIME 字段类型。

至于时区,当数据库不存储时区信息时(因此,所有时间戳都存储在 UTC (GMT) 中),您需要它。然后你可以传递一个包含当前时区信息的Calendar,这样JDBC驱动程序就可以将UTC时间戳调整为符合时区的时间戳。例如,如果是 GMT+1,则 JDBC 驱动程序将在返回前将时间戳添加一小时。

关于java - ResultSet.getTimestamp ("date") 与 ResultSet.getTimestamp ("date", Calendar.getInstance(tz)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2584695/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com