#android #kotlin
#Android #kotlin
Вопрос:
Ошибка:
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
}
Формат выглядит правильно, но я все равно получаю неразрешимую ошибку даты. Есть идеи?
Комментарии:
1. Я просто скопировал / вставил ваш код, и он работает нормально, может быть, поделитесь своим импортом? Я бы также предложил не использовать 01/01/1970 в качестве
getDate
запасного варианта.
Ответ №1:
Вы должны использовать Locale
with SimpleDateFormat
, поскольку вы не создаете его по умолчанию.
например:
SimpleDateFormat("MMM dd yyyy HH:mm:ss",Locale.US).parse(stringDate)
Ответ №2:
Вы можете использовать приведенный ниже код.
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun main() {
val str = "Jul 20 2020 17:21:02";
val formatter = DateTimeFormatter.ofPattern("MMM dd yyyy HH:mm:ss");
val dt = LocalDateTime.parse(str,formatter);
println(dt.toString())
}