Reputation: 104
I have a date response from the server in the form of "2022-10-18 08:30:00". I want to parse it to GMTDate. I am using a function to convert it but i am getting a failure :
Failed to parse date string: "2022-10-18 08:30:00" at index 5. Pattern: "YYYY-MM-dd hh:mm:ss"
fun stringToGMTDateConverter(string: String): GMTDate {
val parser = GMTDateParser("YYYY-MM-dd hh:mm:ss")
val date = parser.parse(string)
return date
}
Upvotes: 0
Views: 261
Reputation: 104
If we have a server response like this : "2022-10-18 08:30:00". We replace the month by its enum.
fun stringToGMTDateConverter(string: String): GMTDate {
val monthInOrdinal = string.substring(5, 7)
val adjustedDate = when (monthInOrdinal) {
"01" -> {
string.substring(0, 5).plus("Jan").plus(string.substring(7))
}
"02" -> {
string.substring(0, 5).plus("Feb").plus(string.substring(7))
}
"03" -> {
string.substring(0, 5).plus("Mar").plus(string.substring(7))
}
"04" -> {
string.substring(0, 5).plus("Apr").plus(string.substring(7))
}
"05" -> {
string.substring(0, 5).plus("May").plus(string.substring(7))
}
"06" -> {
string.substring(0, 5).plus("Jun").plus(string.substring(7))
}
"07" -> {
string.substring(0, 5).plus("Jul").plus(string.substring(7))
}
"08" -> {
string.substring(0, 5).plus("Aug").plus(string.substring(7))
}
"09" -> {
string.substring(0, 5).plus("Sep").plus(string.substring(7))
}
"10" -> {
string.substring(0, 5).plus("Oct").plus(string.substring(7))
}
"11" -> {
string.substring(0, 5).plus("Nov").plus(string.substring(7))
}
else -> {
string.substring(0, 5).plus("Dec").plus(string.substring(7))
}
}
val parser = GMTDateParser("YYYY-MMM-dd hh:mm:ss")
val date = parser.parse(adjustedDate)
return date
}
Upvotes: 0
Reputation: 6999
Unfortunately, the GMTDateParser
doesn't support parsing month numbers but only their three-digit abbreviations, like "Oct".
Upvotes: 2