尝试解析日期格式时出现 Android 无法解析的日期异常

Android Unparseable date exception when try to parse date format

提问人:Amin 提问时间:7/13/2023 更新时间:7/16/2023 访问量:44

问:

我尝试解析这个日期“Wed Jul 12, 2023 23:58:20 GMT+0000 (Coordinated Worldtime)” 使用此代码

  val sdf = SimpleDateFormat("EEE MMM dd yyyy HH:mm:ss ", Locale.getDefault())
    val time = try {
        val mDate = sdf.parse(input)
        mDate!!.time
    } catch (e: ParseException) {
        -1
    }

但是我收到此错误

不可解析的日期:“Wed Jul 12 2023 23:58:20 GMT+0000(协调 世界时)”

Java Android Kotlin 日期解析

评论

0赞 Amin 7/16/2023
@Unmitigated 你是对的,这只有在本地化发生变化时才会发生。就我而言,该功能在英语中运行良好,但是当应用程序在这里转换为阿拉伯语时,我遇到了问题,我将Locale.getDefault()更改为Locale.ENGLISH,问题解决了
1赞 Arvind Kumar Avinash 7/22/2023
切勿在没有 Locale 的情况下使用 SimpleDateFormatDateTimeFormatter。此外,我建议您从容易出错的旧日期时间 API 切换到新式日期时间 API。

答:

0赞 Amin 7/16/2023 #1

仅当本地化发生更改时,才会发生这种情况。 就我而言,该功能在英语中运行良好,但是当应用程序在这里转向阿拉伯语时,我遇到了这个问题,

我将 Locale.getDefault() 更改为 Locale.ENGLISH,问题解决了