与Firebird的时间戳转换日期



我需要转换 date (无时间组件),使用toedter jcalendar选择,将其选择为SQL Timestamp(即使用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);

最新更新