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

问题描述 投票:1回答:2

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

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

我的日期都存储在我的Java程序我使用约达时间(https://www.joda.org/joda-time/)DateTime对象。 谢谢

java database datetime derby
2个回答
1
投票

强烈考虑寻找到你的数据库如何管理日期和时间,因为它也许可以做你的需要。请记住,你有时间应该被存放在一个日期字段在数据库表中。


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()));
© www.soinside.com 2019 - 2024. All rights reserved.