问题描述
我正在尝试解析一个看起来像这样的日期:
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()
}
}
解决方法
您尝试过这样吗?
=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);