Android日期格式转换71

时间:2013-02-21 17:08:49

标签: android

我的日期是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处)

我真的需要日期格式专家的帮助。 感谢

3 个答案:

答案 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

以及更多: -

Date format conversion Android

答案 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 /