2012-03-13 118 views
0

我比较从我的android操作系统的日期到手机上存储在我的sqlite数据库中的日期有困难。目标是:我想选择比今天早的日期的所有行。android:比较日期与数据库

这就是我得到的日期 - 该公园的工作:

android.text.format.DateFormat df = new android.text.format.DateFormat(); 
    String datum = df.format("yyyy-MM-dd", new java.util.Date()).toString(); 

对于我的数据库中的每一行我已存储的日期为文本。例如2012-01-31(yyyy-MM-dd)。

我想,我可以与“小于”(<)操作员一起工作,该操作员工作在differt项目上。但是,我没有得到正确的日期。

任何想法?或者 - 你会如何解决这个问题?

在此先感谢! Marco

+2

存储日期一样长,这更好,更容易比较 – njzk2 2012-03-13 16:01:22

+0

使用日期或长数据类型。 – Eric 2012-03-13 16:19:07

+0

@Eric我同意长格式会更有意义,但考虑到他使用的格式字符串,字符串比较也应该有效。如果他们看起来没有这样做,那么几乎肯定会有其他事情发生(例如,最近有一个类似问题的人最近在其“时间戳”字段中有一些垃圾数据)。 – 2012-03-13 16:50:53

回答

0

适合我。

$ sqlite3 
sqlite> CREATE TABLE date_test(date DATE); 
sqlite> INSERT INTO date_test VALUES('2012-01-01'); 
sqlite> INSERT INTO date_test VALUES('2012-02-01'); 
sqlite> INSERT INTO date_test VALUES('2012-03-01'); 
sqlite> SELECT date FROM date_test WHERE date < '2012-02-15'; 
2012-01-01 
2012-02-01 

您能否提供具体的测试数据,其行为与您的期望不符?

+0

arrrrgh。它没有任何意义 - 现在确实如此。我有垃圾数据存储在数据库中。我只用一种格式填充一个新的数据库,现在它可以工作。感谢您的洞察! – Marco 2012-03-14 07:41:43