首页 文章

Android Unparseable日期异常

提问于
浏览
1

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

这是例外:

java.text.ParseException:无法解析的日期:java.text.DateFormat.parse(DateFormat.java:571)中的“2018-09-18T00:00:00Z”(偏移量为19)

基于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 回答

  • 1

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

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

  • 4

    您必须将格式String更改为:

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

相关问题