我正在使用SQLITE数据库,我将日期存储为String。现在我想将这两个字符串作为日期进行比较。我正在使用
String sqlQuery =“SELECT title,edate FROM lookup WHERE”+((Date)df.parse(“?”))。getTime()+“< =”+ date1.getTime(); c = db.rawQuery(sqlQuery,new String [] {“edate”});
它在运行时给出错误。请告诉我如何将两个String作为日期进行比较。
谢谢 迪帕克
答案 0 :(得分:2)
您想要数字以便轻松比较。我推荐POSIX(或unix)时间,它计算自1970年左右固定点以来的秒数。
使用SQLite strftime函数将字符串转换为POSIX纪元时间(请查看%s选项)http://sqlite.org/lang_datefunc.html
然后使用Java函数获取纪元时间:http://download.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()
"SELECT title, edate FROM lookup WHERE strftime(edate,'%s') < " + (Date1.getTime()/1000)
答案 1 :(得分:1)
String formatString = "dd-MM-yyyy"; // for example
SimpleDateFormat df = new SimpleDateFormat(formatString);
Date date1 = df.parse(string1);
Date date2 = df.parse(string2);
if (date1.before(date2)) {
System.out.println("first date is earlier");
}