2012-06-05 188 views
0

我有一個數據庫存儲在yyyy-MM-dd HH:mm:ss格式的值。更改數據庫中存儲的日期值的日期格式?

當我檢索值時,我希望它們以dd-MM-yyyy HH:mm AM/PM格式顯示。我無法改變我存放它們的方式。

我正在使用遊標從數據庫中獲取結果,然後將它們添加到列表中,然後由listadapter使用它來填充列表視圖。

由於Cursor返回一個字符串,我怎樣才能改變返回值的格式?

+1

檢查這個[SimpleDateFormat的示例](HTTP:// WWW .technotalkative.com/android-get-current-date-and-time-in-different-format /),理解它併爲您的問題嘗試一下。 –

回答

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)); 
2

不要將日期保存到任何特定格式的數據庫中。您應該以毫秒形式保存日期,然後使用SimpleDateFormat將其更改爲任何所需的格式。

+0

好吧,我照你說的做了,但是因爲我在顯示結果時使用了Cursor,所以遊標返回日期爲一個字符串,當我嘗試在SimpleDateFormat中使用它時創建一個錯誤。 –

+0

將它轉換爲Long。它會工作。 Long.parseLong(String string) –

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 
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);