- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
java.util.Date
、java.util.Timetamp
似乎让很多人感到困惑。在 StackOverflow 中有很多问题,不幸的是我的问题有点扭曲。
有 2 个 JDBC api。他们应该如何表现? RDBMS 之间是否存在任何一致性?
ResultSet.getTimestamp("dateColumn")
ResultSet.getTimestamp("dateColumn", Calendar.getInstance(tz))
如果有人了解 Sybase,能否请您分享您的经验?
最佳答案
首先,您混淆了 java.util
和 java.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 TIMESTAMP
或 DATETIME
字段类型。
至于时区,当数据库不存储时区信息时(因此,所有时间戳都存储在 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/
java.util.Date、java.util.Timetamp 似乎让很多人感到困惑。在 StackOverflow 中有很多问题,不幸的是我的问题有点扭曲。 有 2 个 JDBC api。他们应
我看到许多资源建议在现代Android版本上使用AudioTrack.getTimestamp()来计算音频/视频同步的音频延迟。 例如: https://stackoverflow.com/a/37
我需要一个像 Stopwatch.GetTimestamp() 这样的时钟 获取值时的开销很小 精确到至少 1 毫秒(不减少操作系统范围的计时器间隔) 不必与一天中的实际时间 Hook (例如 Dat
我使用jdk-1.6, 操作系统-红帽5, driver-class12.jar,(jar 和 jdk lib) 数据库-Oracle 10g 对于 resultset.getTimestamp("C
我的要求:从数据库 ResultSet 获取时间戳(以 UTC 格式存储)并以线程安全的方式执行此操作。 我的代码目前如下所示: Calendar utcCal = Calendar.getInsta
我的数据库中有以下条目: Start End 2013-08-25 14:23:20 2013-09-14 14:23:20 (类型为datetime,数据
我有一个表 timestamptest,其中有一列 timestamp 类型为 timestamp without time zone。 我在此表中插入了一个值: insert into timest
我正在尝试从 ObjectID 获取时间戳,但 Mongo 一直给我这个错误。我错过了进口吗?将时间戳转换为标准日期格式的最佳方法是什么? video['date'] = video['_id'].g
我在来自 mongodb 的 _id 上调用了 .getTimeStamp 方法,其输出如下 Fri Apr 24 2015 15:28:34 GMT+0100 (GMT Daylight Time
在使用 Stopwatch.GetTimestamp() 时我们发现,如果您记录返回值,然后继续调用它并与之前的返回值进行比较,它最终会意外地返回一个小于原始值的值。 这是预期的行为吗? 在生产代码中
副本:How to get timestamp of tick precision in .NET / C#? 我如何从 Stopwatch.GetTimestamp() 到 DateTime 假设
在我的数据库中,我将值设置为 9/28/2010 11:30:00 PM。 现在我正在使用dataResultSet.getTimestamp(3),它给我一个值为2010-09-28 23:30:0
可能没有办法处理匿名对象? 我想做这样的简短思考: echo (new DateTime())->getTimestamp(); 在 javascript 中我们可以很快使用: alert( (new
我有一个包含列类型的表:timestamp。存储在那里的数据如下所示: 我想做一个简单的选择,看看给定的开始日期和结束日期之间是否有一个日期。 这是我目前所做的: $starttime = $_POS
我目前正在使用 ResultSet,但想切换到 Hibernate 查询。 我有这个代码: Statement stmt = nfCon.createStatement(); stmt = nfCon
我在 MySQL 数据库中有一个 DATETIME 类型的列,其值为 2012-05-07 19:59:12。我正在尝试从数据库中检索此值,假设它存储在 UTC 时区中: Calendar cal =
我在部署在 eclipse 中运行良好的应用程序时遇到了问题,但在创建可运行的 jar 时生成了以下错误(使用选项:将所需的库提取到生成的 JAR 中): org.eclipse.swt.SWTExc
当出于某种原因将 JDBC 用于 SQLite 时,日期和时间戳值正确存储在数据库中,在使用命令行 sqlite3 工具时正确显示,但是当使用 ResultSet 函数检索这些值时,它不起作用。下面是
本文整理了Java中org.openimaj.video.xuggle.XuggleVideo.getTimeStamp()方法的一些代码示例,展示了XuggleVideo.getTimeStamp(
本文整理了Java中us.ihmc.robotDataVisualizer.logger.YoVariableLogPlaybackRobot.getTimestamp()方法的一些代码示例,展示了Y
我是一名优秀的程序员,十分优秀!