使用Firebird进行时间戳转换的日期

时间:2016-11-30 12:33:07

标签: java jdbc firebird jcalendar jaybird

我需要将使用toedter JCalendar选择的日期(没有时间组件)转换为SQL时间戳(即0:00:00时间部分),以便在SQL查询中使用它。 / p>

我没有比这更简单或优雅的东西?推荐什么?

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

1 个答案:

答案 0 :(得分:1)

您只需使用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);
相关问题