我的日期是02/21/2013 04:52:10 PM这种格式。
如何将其转换为MM-dd-yyyy HH:mm。我已经尝试了一些东西,但它一直在抛出错误
java.text.ParseException:Unparseable date:“02/21/2013 04:52:10 PM”(偏移2处)
我真的需要日期格式专家的帮助。 感谢
答案 0 :(得分: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
以及更多: -
答案 1 :(得分:0)
试试这个:
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();
}
输出: 01-21-2013 16:52
结帐http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html了解更多
干杯
答案 2 :(得分:0)
你需要验证你的字符串是否有/或 - 在掩码中,case必须/然后你必须使用:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss", LOCALE_BR);
Date convert = sdf.parse(data);
你的String有案例 - 然后你必须使用:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", LOCALE_BR);
Date convert = sdf.parse(data);
或者,使用replace()
更改字符 - for /