我有一個數據庫存儲在yyyy-MM-dd HH:mm:ss
格式的值。更改數據庫中存儲的日期值的日期格式?
當我檢索值時,我希望它們以dd-MM-yyyy HH:mm AM/PM
格式顯示。我無法改變我存放它們的方式。
我正在使用遊標從數據庫中獲取結果,然後將它們添加到列表中,然後由listadapter使用它來填充列表視圖。
由於Cursor返回一個字符串,我怎樣才能改變返回值的格式?
我有一個數據庫存儲在yyyy-MM-dd HH:mm:ss
格式的值。更改數據庫中存儲的日期值的日期格式?
當我檢索值時,我希望它們以dd-MM-yyyy HH:mm AM/PM
格式顯示。我無法改變我存放它們的方式。
我正在使用遊標從數據庫中獲取結果,然後將它們添加到列表中,然後由listadapter使用它來填充列表視圖。
由於Cursor返回一個字符串,我怎樣才能改變返回值的格式?
你可以使用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));
不要將日期保存到任何特定格式的數據庫中。您應該以毫秒形式保存日期,然後使用SimpleDateFormat將其更改爲任何所需的格式。
好吧,我照你說的做了,但是因爲我在顯示結果時使用了Cursor,所以遊標返回日期爲一個字符串,當我嘗試在SimpleDateFormat中使用它時創建一個錯誤。 –
將它轉換爲Long。它會工作。 Long.parseLong(String string) –
嘗試如下
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
你會想要做這樣的事情:
//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);
檢查這個[SimpleDateFormat的示例](HTTP:// WWW .technotalkative.com/android-get-current-date-and-time-in-different-format /),理解它併爲您的問題嘗試一下。 –