2012-11-06 119 views
0

如何比較當前系統時間與android數據庫中存儲的時間? 我用這個代碼:比較當前系統的日期和時間與數據和時間庫中存儲的日期android

public static long s ; 
. 
. 
. 
. 

Time now = new Time(); 
now.setToNow(); 
String query = "SELECT Cart_ID,Cart_Date from Tbl_Cart where Cart_ID="+lastId+" "; 
     // String queryt = "SELECT Cart_Date from Tbl_Cart where Cart_ID="+lastId+" "; 
      Cursor c = db.rawQuery(query, null); 
      if (c != null && c.moveToFirst()) { 
       s = c.getLong(0); 


      } 

      if(s==now.setToNow()) 
{ 
... 
} 

回答

0

如果你的存儲時間是毫秒,那麼你可以用System.currentTimeMillis()比較。 你也可以仔細考慮與'=='比較。因爲長時間變化如此之快,它很難與系統時間相匹配。你可以更好地尋找更少/更大或相同的時間框架。

0

此代碼僅適用於您也可以做同樣時間的數據。 SimpleDateFormat dateFormat = new SimpleDateFormat(「MM-dd-yyyy」);

CalCurrentDate = Calendar.getInstance(); 
      // that will pass cureent date . 
    Current_Date = dateFormat.format(CalCurrentDate.getTime());   

取日期&時間從DB使用SQL查詢:

CURRENT_DATE:當前數據和該查詢比較。現在

selectQuery = "SELECT * FROM MY_TABLE WHERE `Date`>='"+Current_Date+"'"; 

您可以運行此查詢爲rawQuery()

0

它取決於您如何在數據庫中存儲數據時間。如果您像日期時間那樣存儲,那麼您可以將單個對象放入日曆中,然後將其與System.currentTimeMillis()進行比較;

例如:

Calendar start_time = new GregorianCalendar(); 
    start_time.set(Calendar.HOUR_OF_DAY, sHour); 
    start_time.set(Calendar.MINUTE, sMinute); 

然後將它與SYSTEMTIME像

比較如果(start_time.getTimeInMillis()< = System.currentTimeMillis的())

OR

如果您將時間存儲在Millis formate中,然後您可以直接比較它。

e.g:

如果(yourTimes < = System.currentTimeMillis的())

希望它會幫助你。

+0

會將System.currentTimeMillis()用於日期嗎? – shadi

+0

是的。但是請注意,如果您打算將其與日期進行比較,那麼您也正在使用日曆。 –

+0

我在數據庫中自動存儲日期(當前系統日期型日期時間),我不需要日曆,我這樣做:String query =「SELECT Cart_Status,Cart_ID,Cart_Date from Tbl_Cart where Cart_ID =」+ lastId +「」; Cursor c = db.rawQuery(query,null); S2 = c.getLong(1); System.currentTimeMillis的()!= S2) – shadi

相關問題