Kotlin - разбор SimpleDateFormat занимает бесконечное время - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь разобрать строку даты с SimpleDateFormat, которая никогда не останавливается и не выдает никаких исключений.Пожалуйста, см. Код ниже,

fun getDate(dateStr: String) {

    try {
        /** DEBUG dateStr = '2006-04-16T04:00:00Z' **/
        val formatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH)
        val mDate = formatter.parse(dateStr) // this never ends while debugging
    } catch (e: Exception){
        Logger.e("Error $e") // this never gets called either
    }
}

В чем может быть проблема?

Примечание: я использую,

Android Studio: 3.4.1,Версия Kotlin: 1.3.31, минимальный SDK: 23, целевой SDK: 28, скомпилированный SDK: 28

Ответы [ 2 ]

1 голос
/ 20 июня 2019

Используйте функцию ниже

fun getDate(dateStr: String) {
        try {
            /** DEBUG dateStr = '2006-04-16T04:00:00Z' **/
            val formatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.ENGLISH)
            val mDate = formatter.parse(dateStr) // this never ends while debugging
            Log.e("mDate", mDate.toString())
        } catch (e: Exception){
            Log.e("mDate",e.toString()) // this never gets called either
        }
    }
0 голосов
/ 20 июня 2019

Ваш формат даты неверен.Это должно быть, как показано ниже

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

Обратите внимание на вложение ' с Z. Вам не хватает этого в вашем формате даты.

...