在 kotlin 中将字符串日期解析为毫秒

问题描述 投票:0回答:1

我正在使用 SDF 通过以下代码将字符串日期解析为毫秒

private fun dateToMilliseconds(dateValue: String): Long? {
val sdf = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS")
val date: Date
try {
    date = sdf.parse(dateValue)!!
    return date.time
} catch (e: Exception) {
    e.printStackTrace()
}
return null
}

日期是

val pdt = "2024-01-17T20:14:29.819Z"

在 android 中运行它时,我得到了无法解析日期的异常

java.text.ParseException: Unparseable date: "2024-01-17T20"
android kotlin date simpledateformat
1个回答
0
投票

你可以试试这个:

fun parseStringDateToMillis(dateString: String, pattern: String): Long {
    val dateFormat = SimpleDateFormat(pattern)
    val date = dateFormat.parse(dateString)
    return date?.time ?: 0L
}

在 Activity 或 Fragment 中使用此函数:

   val dateString = "2022-01-15T12:30:45"
   val pattern = "yyyy-MM-dd'T'HH:mm:ss"
   val millis = parseStringDateToMillis(dateString, pattern)

   println("Milliseconds: $millis")
© www.soinside.com 2019 - 2024. All rights reserved.