提问人:Alan Bastos 提问时间:9/28/2018 更新时间:9/28/2018 访问量:1551
org.threeten.bp.format.DateTimeParseException:无法在索引 19 处解析文本“2018-07-22T14:00:00-03:00”
org.threeten.bp.format.DateTimeParseException: Text '2018-07-22T14:00:00-03:00' could not be parsed at index 19
问:
public static String formatter(String dateInPattern, String dateOutPattern) {
OffsetDateTime dateInPatternFormat = OffsetDateTime.parse(dateInPattern, DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"));
Date dateInValue = DateTimeUtils.toDate(Instant.parse(dateInPatternFormat.toString()));
OffsetDateTime dateOutPatternFormat = OffsetDateTime.parse(dateOutPattern);
return dateOutPatternFormat.format(DateTimeFormatter.ofPattern(dateInValue.toString()));
}
我需要在此模式下输入日期 yyyy-MM-dd'T'HH:mm:ss'Z' 这等于 (2018-07-22T14:00:00-03:00)。 我需要这种模式的输出 dd/MM/yyyy
请帮帮我。
我在 android :( 上遇到了很多日期问题
答:
4赞
Andreas
9/28/2018
#1
你的代码非常混乱,名字很奇怪,你似乎混淆了模式字符串,例如,与值字符串,例如。yyyy-MM-dd
2018-07-22
值字符串可以在不指定 的情况下解析为 ,因为这是 的默认格式。2018-07-22T14:00:00-03:00
OffsetDateTime
DateTimeFormatter
OffsetDateTime
如果需要将其格式化为 ,请使用 .dd/MM/yyyy
DateTimeFormatter
不知道为什么你的方法需要 2 个参数。
例:
String input = "2018-07-22T14:00:00-03:00";
OffsetDateTime offsetDateTime = OffsetDateTime.parse(input);
String output = offsetDateTime.format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
System.out.println(output); // prints: 22/07/2018
评论
Instant
yyyy-MM-dd'T'HH:mm:ss.sssZ
OffsetDateTime
formatter
Date
Date