gpt4 book ai didi

java - Android 7+ 上的 SimpleDateFormat 解析异常

转载 作者:行者123 更新时间:2023-12-02 11:37:45 24 4
gpt4 key购买 nike

我正在尝试解析日期并将其转换为 Timestamp .

在 Android 6 上它可以工作,但在 Android 7 上它会抛出异常。谁能告诉我如何修复它吗?

private long getCorrectDate(String date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT'Z (z)");
Date parsedDate = null;
try {
Logger.e("PARSE DATE : "+date);
parsedDate = dateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
Logger.e("" + date + " TO " + timestamp.getTime());
return timestamp.getTime();
}

java.text.ParseException: Unparseable date: "Thu Feb 15 2018 10:55:55 GMT+0000 (UTC)"

最佳答案

输入包含星期几和月份的英文名称,因此您需要指定一个java.util.Locale

如果您创建一个没有区域设置的 SimpleDateFormat,它将使用设备的默认值。您的代码仅在默认值已经是英语的情况下才有效,否则您需要指定它:

// use Locale.US or Locale.ENGLISH, I think both will work
SimpleDateFormat dateFormat =
new SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss 'GMT'Z (z)", Locale.US);

实际上,如果您确定输入始终为英语,请使用相应的区域设置而不是依赖默认值。

关于java - Android 7+ 上的 SimpleDateFormat 解析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48806948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com