2012-12-08 72 views
2

data+time毫秒保存在數據庫中(sq lite),現在我想從一個特定日期的SQ-精簡版的數據和我有日期格式「26 - 2012年12月「,如何比較這與毫秒與數據進行比較毫秒的Android

應該從數據庫中獲取數據的查詢應該是什麼?

回答

0

只需使用數據庫中的timeInMilliseconds數據創建新的Calendar即可。

所以,如果你有一列的時間稱爲date和數據是在一個名爲MyTable的查詢來獲取該表是:

select date from myTable ... other constraints 

在Android中,簡單地使用從檢索到的長期價值數據庫建立一個新的日曆:

Calendar cal = new Calendar.getInstance(); 
cal.setTimeInMillis(timeInMsFromDatabase); 

一旦你有一個Calendar對象,你可以檢索你想用get(int field) method值。可以使用DateFormat類。

有意義嗎?

1

你必須毫秒爲日期格式轉換,然後比較兩個日期

轉換成日期甲

 public static String getDate(long milliSeconds, String dateFormat) 
{`enter code here` 
    // Create a DateFormatter object for displaying date in specified format. 
    DateFormat formatter = new SimpleDateFormat(dateFormat); 

    // Create a calendar object that will convert the date and time value in milliseconds to date. 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(milliSeconds); 
    return formatter.format(calendar.getTime()); 
} 

比較日期

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date date1 = curFormater.parse(date1Str); 
Date date2 = curFormater.parse(date2Str); 
if (date1.before(date2)) 
{ 
} 
0

我希望這將有助於你

public long getDateLong(String dateString, String format) throws ParseException 
    { 
     SimpleDateFormat f = new SimpleDateFormat(format); 

     Date d = f.parse(dateString); 

     return d.getTime(); 
    } 

//

 long timeMillis; // Your long time millis 
    boolean compare = timeMillis > getDateLong("26-December-2012", "dd-MMMM-yyyy");