我正在尝试排序
SELECT * FROM myTable ORDER BY DATE(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
从此处更新============>>>
这不是返回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 :(得分:3)
您可以将字符串日期转换为Long然后将其转换为数据库: 如果你有类似这样的日期字符串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取决于您的日期字符串格式。
答案 1 :(得分: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;
}