我有一个日期为 02/21/2013 04:52:10 PM 这种格式。
如何将其转换为 MM-dd-yyyy HH:mm。我已经尝试了几件事,但它一直在抛出错误
java.text.ParseException:无法解析的日期:“02/21/2013 04:52:10 PM”(偏移量 2)
我真的需要日期格式专家的帮助。谢谢
我有一个日期为 02/21/2013 04:52:10 PM 这种格式。
如何将其转换为 MM-dd-yyyy HH:mm。我已经尝试了几件事,但它一直在抛出错误
java.text.ParseException:无法解析的日期:“02/21/2013 04:52:10 PM”(偏移量 2)
我真的需要日期格式专家的帮助。谢谢
构造两个 SimpleDateFormat 对象。第一次将值从 parse() 转换为 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
和更多:-
试试这个:
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了解更多
干杯
您需要验证您的字符串是否有 / 或 - 在掩码中,如果有 / 那么您必须使用:
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()
for 改变字符 - for /