首页 > 解决方案 > 将字符串转换为日期失败并出现异常 - 即使格式正确,日期也无法解析

问题描述

错误:

W/System.err: java.text.ParseException: Unparseable date: "Jul 20 2020 17:21:02"

代码:

fun getDate(): Long {
    var dateInMillis = 0L
    var date: Date? = null

    try {
        val stringDate = "Jul 20 2020 17:21:02"
        date = SimpleDateFormat("MMM dd yyyy HH:mm:ss").parse(stringDate)
    } catch (e: Exception) {
        e.printStackTrace()
    }

    date?.let {
        dateInMillis = it.time
    }

    return dateInMillis
}

格式看起来正确,但我仍然收到无法解析的日期错误。有任何想法吗?

标签: androidkotlin

解决方案


您应该使用Localewith SimpleDateFormat,因为您不是使用默认值创建的。

例如:

SimpleDateFormat("MMM dd yyyy HH:mm:ss",Locale.US).parse(stringDate)

推荐阅读