将日期从字符串表示转换为数字表示,然后再返回

时间:2010-09-14 16:01:33

标签: java database datetime derby

是否存在将日期从字符串表示转换为数字表示的任何模式或已知方式,反之亦然? 背景:
我使用Apache Derby数据库作为Java程序的持久性。我想做这样的事情:

Select * from MyTable where date_column > 20100914154503 order by date_column DESC
// 20100914154503 = 2010-09-14 15:45:03

我的日期存储在我的java程序中我正在使用Joda Time(https://www.joda.org/joda-time/)DateTime对象 感谢

2 个答案:

答案 0 :(得分:3)

我不太确定你实际上要做什么或为什么你需要使用字符串,但一般来说你应该使用PreparedStatement。然后,您只需使用PreparedStatement

java.sql.Timestamp中设置日期即可
DateTime date = ...;
Connection conn = ...;
PreparedStatement ps = conn.prepareStatement(
    "Select * from MyTable where date_column > ? order by date_column DESC");
ps.setTimestamp(1, new Timestamp(date.getMillis()));

答案 1 :(得分:1)

强烈考虑查看数据库如何管理日期和时间,因为它可能会满足您的需求。请记住,您拥有的日期应存储在数据库表的日期字段中。

相关问题