2012-03-13 91 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