我正在尝试构建ISO 8601格式(“yyyy-MM-dd'T'HH:mm:ss.SSSXXX”)。使用Java 8 DateFormatBuilder解析ISO 8601格式的字符串。Java 8用于构建ISO 8601的DateFormatBuilder API日期格式
当我遇到UTC时间格式的输出是“2016-11-01T16:51:35.000Z”,但我真正需要的是有00:00而不是Z.我尝试DateFormatBuilder建立,但没有成功。
我终于结束了做以下
DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder();
DATETIMEFOMATTER = builder.parseCaseInsensitive()
.append(DateTimeFormatter.ISO_OFFSET_DATE_TIME)
.toFormatter();
ZonedDateTime zonedDate = ZonedDateTime.parse(date, DATETIMEFOMATTER);
String utcDate = zonedDate.format(FORMATTER);
if (utcDate.indexOf("Z") != -1){
utcDate = utcDate.replace("Z", "-00:00");
}
我不想解析字符串并与“00:00”取代ž。 Joda API更容易处理。任何想法,如果我们可以使用Java 8 DateTimeFormatterBuilder构建?我确实提到了几个stackoverflow问题,但没有工作。我可能做错了什么。有人可以帮忙吗?
['appendPattern'](https://docs.oracle.com/javase/8/docs/api /java/time/format/DateTimeFormatterBuilder.html#appendPattern-java.lang。串-)?您在问题中编写了格式,我不确定问题是什么。 – Tunaki
那不适合我。 – Milind
请定义“不工作”。发布尝试,以及例外/或其他发生的事情? – Tunaki