java - 使用 Firebird 将日期转换为时间戳

标签 java jdbc firebird jcalendar jaybird

我需要将使用 toedter JCalendar 选择的日期(不带时间部分)转换为 SQL 时间戳(即包含 0:00:00 时间部分),以便在 SQL 查询中使用它。

还有什么比这更简单或优雅的吗?推荐什么?

Date dt = jCalendar1.getDate();
Timestamp ts = Timestamp.valueOf(dt.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().atStartOfDay());

最佳答案

您可以简单地使用 java.sql.DatePreparedStatement.setDate,然后 Jaybird 将处理从日期到时间设置为 00 的时间戳的转换: 00:00.0 给你。一个例子:

java.util.Date dt = jCalendar1.getDate();
java.sql.Date sqlDate = new java.sql.Date(dt.getTime());
pstmt.setDate(1, sqlDate);

关于java - 使用 Firebird 将日期转换为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40888490/

相关文章:

java - 使用 Java 在 GUI 编程中混合使用 awt 和 swing

java - 如何在 Java 中使用 XSLT 将 XML 转换为 HTML

java - Spring Mongo 异常 - 不允许为 id 属性自定义字段名称!不考虑自定义名称

mysql - 查询以根据多个条件从数据库检索值

java - 使用 Oracle SQL Developer 调用存储过程

java - Apache Ignite Jdbc 连接用于单机上 2 个独立的数据网格

sql - 我可以以编程方式退出 Firebird 脚本吗

c - 如何从 Linux 下用 C 编写的 udf 返回 firebird 时间戳

node.js - Firebird - getaddrinfo ENOTFOUND

java - Maven ${project.version.prefix}