2013-02-21 51 views
0

我在02/21/2013 04:52:10 PM中有一個日期格式。Android日期格式轉換71

如何將其轉換爲MM-dd-yyyy HH:mm。我已經嘗試過一些東西,但它不斷拋出錯誤

java.text.ParseException:無法解析的日期:「2013年2月21日下午4時52分10秒」(在偏移2)

我真的需要幫助從日期格式專家。 謝謝

+0

你是如何保存這個日期?什麼變量?變量的類型?你在哪裏存儲它? – Philo 2013-02-21 17:12:56

+0

我在字符串格式的sqlite中存儲02/21/2013 04:52:10 PM – user533844 2013-02-21 17:18:15

回答

0

試試這個Ø NE:

DateFormat inputFormat = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a", Locale.getDefault()); 
DateFormat outputFormat = new SimpleDateFormat("MM-dd-yyyy HH:mm", Locale.getDefault()); 

try { 
    System.out.println("Converted: " + outputFormat.format(inputFormat.parse("02/21/2013 04:52:10 PM"))); 
} catch (ParseException e) { 
    e.printStackTrace(); 
} 

輸出:2013年1月21日16:52

結帳http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html更多

乾杯

0

構造兩個SimpleDateFormat對象。首先你將值解析成一個Date對象,第二個將Date對象轉換成一個字符串,例如

try { 
    DateFormat df1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); 
    DateFormat df2 = new SimpleDateFormat("dd-MMM-yyyy"); 
    return df2.format(df1.parse(input)); 
} 
catch (ParseException e) { 
    return null; 
} 

解析可以拋出一個ParseException,因此您需要捕獲並處理它。

此外,檢查了這一點: -

http://developer.android.com/reference/java/text/SimpleDateFormat.html

多: -

http://msdn.microsoft.com/en-us/library/aa226054(SQL.80).aspx

多: -

Date format conversion Android

+0

感謝您的回覆。 「/」還是「 - 」很重要? yyyy-MM-dd'T'HH:mm:ss'Z'與yyyy/MM/dd'T'HH:mm:ss'Z'相同嗎? – user533844 2013-02-21 17:23:42

+0

編碼,調試,學習。學習編碼的最佳方式,我的朋友。 – Philo 2013-02-21 17:24:37

+0

:)盡其所能!謝謝! – user533844 2013-02-21 17:27:09

0

您需要驗證您的字符串有/或 - mask,case have/then you must used:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", LOCALE_BR); 
Date convert = sdf.parse(data);  

情況下,你有串 - 那麼你必須使用:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", LOCALE_BR); 
    Date convert = sdf.parse(data); 

或者,請用replace()的卡拉科特的變化 - 對/