Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要将使用 toedter JCalendar 选择的日期(没有时间组件)转换为 SQL 时间戳(即具有 0:00:00 时间部分)以在 SQL 查询中使用它。
我没有比这更简单或优雅的了?推荐什么?
Date dt = jCalendar1.getDate(); Timestamp ts = Timestamp.valueOf(dt.toInstant().atZone(ZoneId.systemDefault()).toLocalDate().atStartOfDay());
您可以简单地使用java.sql.Dateand PreparedStatement.setDate,然后 Jaybird 将为您处理从日期到时间戳的转换,时间设置为 00:00:00.0。一个例子:
java.sql.Date
PreparedStatement.setDate
java.util.Date dt = jCalendar1.getDate(); java.sql.Date sqlDate = new java.sql.Date(dt.getTime()); pstmt.setDate(1, sqlDate);