提问人:Jonathan Chiou 提问时间:9/20/2020 最后编辑:AnonymousJonathan Chiou 更新时间:9/20/2020 访问量:314
org.threeten.bp.format.DateTimeParseException:文本“Sat Sep 19 2020 07:14 AM PDT”无法在索引 25 的 $.root.bsa[0].posted 处解析
org.threeten.bp.format.DateTimeParseException: Text 'Sat Sep 19 2020 07:14 AM PDT' could not be parsed at index 25 at $.root.bsa[0].posted
问:
我正在尝试将一个看起来像的日期解析为:Sat Sep 19 2020 07:14 AM PDT
ZonedDateTime
我正在使用这个格式化程序
DateTimeFormatter.ofPattern(
"EEE MMM dd yyyy hh:mm a zzz",
Locale.US
)
我正在尝试将字符串转换为
ZonedDateTime.parse(
value,
formatter
)
但是,这会引发以下异常:org.threeten.bp.format.DateTimeParseException: Text 'Sat Sep 19 2020 07:14 AM PDT' could not be parsed at index 25 at $.root.bsa[0].posted
我不太确定我的日期格式字符串中的错误在哪里:我已经运行了它 http://www.fileformat.info/tip/java/simpledateformat.html 进行验证,但看起来那里的格式正确。
其他上下文:此代码在 Moshi 适配器中执行,并在 Android 应用中运行:
class ZonedDateTimeAdapter {
private val formatter = DateTimeFormatter.ofPattern( "EEE MMM dd yyyy hh:mm a z", Locale.US )
@FromJson
fun fromJson(value: String): ZonedDateTime {
return ZonedDateTime.parse( value, formatter )
}
@ToJson
fun toJson(value: ZonedDateTime): String {
return value.toString()
}
}
答:
0赞
WJS
9/20/2020
#1
你试过这样吗?
String s = "Sat Sep 19 2020 07:14 AM PDT";
ZonedDateTime z = ZonedDateTime.parse(s, DateTimeFormatter.ofPattern(
"EEE MMM dd yyyy hh:mm a z"));
System.out.println(z);
指纹
2020-09-19T07:14-07:00[America/Los_Angeles]
评论
2赞
Jonathan Chiou
9/20/2020
我已经在这样做了:我更新了我的代码以使用硬编码的“Sat Sep 19 2020 07:14 AM PDT”,但问题仍然存在。
0赞
Jonathan Chiou
9/20/2020
代码包含在 moshi 适配器中: ''' class ZonedDateTimeAdapter { private val formatter = DateTimeFormatter.ofPattern( “EEE MMM dd yyyy hh:mm a z”, Locale.US ) @FromJson fun fromJson(value: String): ZonedDateTime { return ZonedDateTime.parse( value, formatter ) } @ToJson fun toJson(value: ZonedDateTime): String { return value.toString() } } '''
评论
z