2011-02-14 85 views
1

我想從數據庫中獲取數據,然後與系統time.my Android的代碼比較採取系統時間比較的我想從數據庫中獲取數據,然後與系統時間

sTimeFirstPart= DateFormat.getTimeInstance(DateFormat.SHORT).format(new Date()); 

這將保持當前的系統時間怎麼能在我的數據庫表這時候比較時間我的數據庫表是這個樣子

public void onCreate(SQLiteDatabase db) { 
    db.execSQL("CREATE TABLE IF NOT EXISTS names3 (_ID INTEGER PRIMARY KEY  AUTOINCREMENT, medicine VARCHAR, dose1 VARCHAR ,dose2 VARCHAR ,dose3 VARCHAR)"); 

dose1,dose2,劑量3是存儲在數據庫中的時間價值。

我想在什麼時間顯示下一個藥物我該怎麼做,請幫助我?

回答

2

您應該考慮將日期存儲爲Millis以來的時間 - 什麼System.currentTimeMillis()返回。

然後在表格中添加一列「theTime」,並在那裏存儲下一個攝入日期。

這裏比較使用<和>很容易:

SELECT dose FROM names3 WHERE theTime < ? 

,並通過將當前時間作爲參數。

1

我不是一個Android開發人員,但比較日期作爲字符串是任何平臺上的一個壞主意。爲什麼不使用Date而不是String? 您可以將Varchar轉換爲this之類的日期,然後使用compareTo將其與當前時間進行比較。

0

本實施例解決了這個問題:

Look here用於SQLite的其他日期的功能。

+0

您不必將時間列添加爲長的類型,就像在接受的答案中一樣。 – pawelzieba 2011-02-14 13:01:34

相關問題