2013-11-22 37 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; 
} 
相关问题