2012-03-13 12 views
0

私はアンドロイドOSから日付を電話で自分のsqliteデータベースに保存された日付と比較するのが難しいです。目標は、今日よりも前の日付の行をすべて選択することです。アンドロイド:データベースと日付を比較する

私は日付を取得する方法です - その場で作品:私のデータベース内の行ごとに

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

+0

日付またはロングデータ型を使用します。 – Eric

+0

@エリック私は、長いフォーマットはより意味をなさないと思っていますが、彼が使用しているフォーマット文字列を考えると、文字列比較もうまくいくはずです。彼らがそうしていない(例えば、同様の問題を抱えている他の人物が、最近、 "タイムスタンプ"フィールドにガベージデータを持っている)場合、ここで何か他のことが起こっていることはほぼ確実です。 –

答えて

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。それは意味をなさない - 今はそれがあります。私はゴミデータをデータベースに保存しました。私は1つのフォーマットで新しいデータベースを作成しましたが、現在は動作しています。あなたの洞察に感謝します! – Marco