2013-02-21 49 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()的卡拉科特的变化 - 对/