2015-07-13 12 views
0

我想用戶輸入的時間與我的SQLite表時間列像 其中用戶輸入時間儲存在 hour_x,分X要用戶輸入的時間,在Android的

 @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
       hour_x = hourOfDay; 
       minute_x = minute; 
       settime.setText(hour_x+":"+minute_x); 
     } 

比較我的SQLite表時間列比較和我有一樣

hellodb4.execSQL("create table " + TABLE_NAME +" (STATION TEXT,TIME TIME,TIME TIME,TIME TIME)"); 
hellodb4.execSQL("INSERT INTO time_table VALUES ('STN1','03:35','03:55','03:57');"); 
hellodb4.execSQL("INSERT INTO time_table VALUES ('STN2','06:30','06:55','06:57');"); 

SO 我想比較喜歡當用戶選擇任何時間,那麼它應該作爲USER_INPUT時間> =「時間」列中的所有「時間」列比較表中的許多時間列。

回答

0
String yourDate = "03:44"; 

你可以做的是創建一個日期格式:

SimpleDateFormatter f = new SimpleDateFormatter("HH:mm"); 

不是創建一個日期對象:

Date d = f.parse(yourDate); 

與你從你的SQLite表中的日期相同新的日期對象:

Date d2 = f.parse(dateFromTable); 

現在只需

d.compareTo(d2) 
+0

我是beginner.i我上火車時刻表project.so工作當用戶選擇從時間選取一個時間acording你我,如果我先在店裏字符串yourdate,然後將其設置和日期格式正常解析它,但現在這個yourDate值我想比較許多時間值的列,因爲我想只顯示給用戶提前time.let我們舉一個例子::如果用戶選擇3:20作爲時間,我有表中包含像時間(col名稱):時間山坳值:3:15,然後第二列名:時間山坳值3:25等等,所以我希望用戶只顯示3:25火車等不從3:15 BCZ用戶開始輸入3:20。 –

+0

我希望你明白我的查詢... –

0

首先比較日期,還有一些奇怪的事情在你的餐桌,你似乎名爲「TIME」申報數列。那是行得通嗎?

hellodb4.execSQL("create table " + TABLE_NAME +" (STATION TEXT,TIME TIME,TIME TIME,TIME TIME)"); 

無論如何,如果我正確理解你的問題,你可能想在SQL查詢中進行日期比較,對不對?您可以在SQLite的使用日期/時間功能:

https://www.sqlite.org/lang_datefunc.html

的查詢是這樣的:

String query = "SELECT * FROM time_table WHERE strftime(TIME, 'HH:MM') > ?"; 
SimpleDateFormat f = new SimpleDateFormat("HH:mm"); 
String[] params = String[] { f.format(dateFromUser) }; 
db.rawQuery(query, params); 

我沒有測試上面的代碼,所以你可能需要修改它的工作。

+0

你能解釋這段代碼嗎,因爲我是初學者。不明白,我存儲在字符串中的用戶輸入時間值,所以我怎麼可以鏈接到上面的代碼?像settime =(Button)findViewById(R.id.time); String str3 = settime.getText()。toString()。trim();所以用戶輸入時間我存儲在str3中。 –

+0

如果你已經有用戶輸入,你只需要使用格式(字符串)函數: – Sebastian

+0

SimpleDateFormatter在編程它說,改爲simpledateformat.can你一步一步解釋你的代碼就像我如何鏈接用戶輸入時間按鈕上述代碼???? –

相關問題