用时区解析日期

我试图解析这个字符串:


"2018-08-21T10:12:06.872722+00:00"

但得到了 java.text.ParseException。


我正在使用这种格式:


"yyyy-MM-dd'T'HH:mm:ss.SSSz"

重要:我尝试使用:XXX, ZZZZZ, ZZZ, z 表示时区,但不起作用


怎么了?谢谢。


将日期转换为新格式:


formatDate("2018-08-21T10:12:06.872722+00:00");


public static String formatDate(String date) {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSz");

    SimpleDateFormat output = new SimpleDateFormat("yyyy-MM-dd");


    Date d;

    try {

        d = sdf.parse(date);

    } catch (ParseException e) {

        e.printStackTrace();

        return "";

    }


    return output.format(d);

}


偶然的你
浏览 153回答 3
3回答

慕尼黑的夜晚无繁华

在java 8或更高版本中,使用单行代码可以达到相同的效果:System.out.println(OffsetDateTime.parse("2018-08-21T10:12:06.872722+00:00",             DateTimeFormatter.ISO_OFFSET_DATE_TIME).toLocalDate());输出:2018-08-21
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java