Android无法解析的日期异常

时间:2016-02-14 07:55:33

标签: java android date

我在尝试解析发送到我的Android客户端的Date字符串时得到一个Unparseable日期。

这是一个例外:

  

java.text.ParseException:Unparseable date:" 2018-09-18T00:00:00Z" (在   偏移19)在java.text.DateFormat.parse(DateFormat.java:571)

我的基于C#的后端发送的日期格式(C#对象属性 DateTime ):

  

2018-09-18T00:00:00Z

我的Java代码失败的地方:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss aa");
String targetDate = "2018-09-18T00:00:00Z";
Date date = dateFormat.parse(targetDate));

如何更改代码以解析后端发送的确切格式?

2 个答案:

答案 0 :(得分:4)

您必须将格式字符串更改为:

SimpleDateFormat dateFormatParse = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss'Z'");
String targetDate = "2018-09-18T00:00:00Z";
Date dateString = dateFormatParse.parse(targetDate));

答案 1 :(得分:1)

您的后端发送的日期格式遵循ISO-8601即时格式。

您可以使用LocalDate.parse(targetDate, DateTimeFormatter.ISO_INSTANT)来解析它。