我正在尝试将一个看起来像这样的日期解析
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()
}
}