org.threeten.bp.format.DateTimeParseException:无法在$ .root.bsa [0]的索引25处解析文本'Sat Sep 19 2020 07:14 AM PDT'。

时间:2020-09-19 19:35:58

标签: java zoneddatetime threetenabp

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

1 个答案:

答案 0 :(得分:0)

您尝试过这样吗?

=UNIQUE(FILTER(B1:B12,A1:A12="mike"))

打印

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);