2013-11-22 39 views
0

我試圖理清如何排序,其存儲在數據庫字符串

SELECT * FROM mytable的ORDER BY DATE(日期)// date存儲與字符串日期

這裏是logcat的從這裏============ >>>

11-22 12:50:50.906: I/DB(31388): get :17 Nov 2013 09:36:01 
11-22 12:50:50.906: I/DB(31388): get :13 Nov 2013 07:41:29 
11-22 12:50:50.907: I/DB(31388): get :12 Nov 2013 11:09:46 
11-22 12:50:50.907: I/DB(31388): get :08 Nov 2013 09:13:26 
11-22 12:50:50.908: I/DB(31388): get :02 Nov 2013 08:54:26 
11-22 12:50:50.908: I/DB(31388): get :27 Oct 2013 08:02:09 
11-22 12:50:50.908: I/DB(31388): get :26 Oct 2013 07:42:18 
11-22 12:50:50.908: I/DB(31388): get :21 Oct 2013 06:45:18 
11-22 12:50:50.909: I/DB(31388): get :19 Oct 2013 07:38:43 
11-22 12:50:50.909: I/DB(31388): get :16 Oct 2013 03:12:16 

UPDATE

這不是返回值long的值。它始終是return 0

try { 
     DateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); 
     Date date = sdf.parse(dateTime); 
     long milliseconds = date.getTime(); 
     return milliseconds; 
    } catch (Exception e) { 
     e.printStackTrace(); 
     Log.i("DB", "err :" + e); 
     return 0; 
    } 

我想與最新的日期排序 任何人都可以提前花了一些時間,我..謝謝 。

+0

你應該豎起日期到數據庫以毫秒爲單位(Long值)。 –

+0

可以請你詳細說明如何做到這一點。 – AndyBoy

+0

你收到什麼字符串日期? –

回答

3

您可以將字符串日期轉換爲長然後豎起入數據庫: 如果您有日期字符串這樣的事情22/11/2013 12點10分00秒,你可以簡單地用SimpleDateFormater的幫助下將其轉換

public static long convertStringDateToLong(String dateTime){ 
     try { 
      DateFormat f = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); 
      Date d = f.parse(dateTime); 
      long milliseconds = d.getTime(); 
      return milliseconds; 
     } catch (Exception e) { 
      return 0; 
     } 

    } 

SimpleDateFormate取決於你日期String formate。

+0

如何排序和打印所有日期與此代碼,你可以告訴我.. – AndyBoy

+0

第一字符串轉換從日期到長期並將其放入數據庫。 現在您可以使用簡單的查詢 從表名順序中選擇*按日期列名稱desc限制maxrows 或http://stackoverflow.com/questions/8051800/sort-a-list-in-ascending-order-by-date- from-sqlite –

+0

並且再次我必須將長時間轉換爲顯示日期,我是ryt? – AndyBoy

1

我這樣做是因爲我這個問題..

謝謝大家......

public static String convertLongToStringDate(String dateTime) { 
    String dateString=null; 
    Long l=Long.parseLong(dateTime); 
    try { 
     Date date=new Date(l); 
     DateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); 
     dateString = sdf.format(date); 
    } catch (Exception e) { 
     return dateString; 
    } 
    return dateString; 
} 
相關問題