更改数据库中存储日期值的日期格式?

时间:2012-06-05 05:20:11

标签: android sqlite datetime

我有一个以yyyy-MM-dd HH:mm:ss格式存储价值的数据库。

当我检索值时,我希望它们以dd-MM-yyyy HH:mm AM/PM格式显示。我不能改变我存储它们的方式。

我正在使用Cursor从数据库中获取结果,然后将它们添加到列表中,然后listadapter使用该列表来填充列表视图。

由于Cursor返回一个字符串,如何更改返回值的格式?

4 个答案:

答案 0 :(得分:2)

您可以将SimpleDateFormat与" dd-MM-yyyy HH:mm a"等模式一起使用。

Date mDate= new Date(System.currentTimeMillis());
SimpleDateFormat mDateFormat= new SimpleDateFormat("dd-MM-yyyy HH:mm a");
System.out.println(mDateFormat.format(mDate));

答案 1 :(得分:2)

不要以任何特定格式将日期保存到数据库。您应该以毫秒的形式保存日期,然后使用SimpleDateFormat将其更改为任何所需的格式。

答案 2 :(得分:2)

你会想做这样的事情:

//Retrieve date from database
SimpleDateFormat origFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String stringDateFromDB = getDateFromDatabase();

//Store it as a date object
Date date = origFormat.parse(stringDateFromDB);

//Output it as a string that uses the new format
SimpleDateFormat newFormat= new SimpleDateFormat("dd-MM-yyyy HH:mm AM/PM");
String desiredDateFormat = newFormat.format(date);

答案 3 :(得分:0)

尝试如下所示

Date c_date;
SimpleDateFormat outputFormat= new SimpleDateFormat("dd-MM-yyyy HH:mm a");
c_date=(Date)outputFormat.parse(Date_Database); 

其中

Date_Database= your date which is in String format which u have retraived from database