我想用我的格式解析日期,但在android中给我异常?

时间:2014-01-22 08:09:44

标签: java android date-parsing

我正在尝试将原始日期时间转换为我的格式但是给我异常

我的约会对象: 2014-01-22 13:24:03 此格式现在我要转换

  

Date.java

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd k:mm:ss");
Date date = format.parse("2014-01-22 13:24:03");

String strdate = android.text.format.DateFormat.format("dd.MM kk:mm", date).toString();
  

我想要这样的输出

     

22.1 13.24

Logcat Error



01-22 13:24:24.421: W/System.err(27821): java.text.ParseException: Unparseable date: "2014-01-22 13:24:03" (at offset 10)
    01-22 13:24:24.431: W/System.err(27821): at java.text.DateFormat.parse(DateFormat.java:626)

4 个答案:

答案 0 :(得分:1)

使用此代码

  try
    {
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Date date = format.parse("2014-01-22 13:24:03");
      String newdate = "" + date.getDate() + "." + date.getMonth() + " " + date.getHours() + "." + date.getMinutes(); 
    }
  catch( Exception e) {}

答案 1 :(得分:0)

您的模式中有T,但在您尝试解析的日期却没有。摆脱模式中的T,问题应该消失。

来自SimpleDateFormat documentation

"yyyy-MM-dd'T'HH:mm:ss.SSSZ" --> 2001-07-04T12:08:56.235-0700

注意模式中的T与正在解析的日期字符串中的相应T匹配。

你的模式包含Kk也有点奇怪,因为大写和小写k有不同的含义:

  

k小时(1-24)

     

上午/下午K小时(0-11)

答案 2 :(得分:0)

该日期格式的正确模式为:yyyy-MM-dd' 'HH:mm:ss

然后,为了按照您需要的方式设置日期格式,您可以使用以下模式:dd.M' 'HH.mm

答案 3 :(得分:0)

尝试以这种方式执行此操作并查看格式化字符串。:)

String ISO_8601 = new SimpleDateFormat("yyyy-MM-dd'T'HH-mm-ss");
SimpleDateFormat formatter = new SimpleDateFormat();
formatter.format(date);