Kotlin:
Parsing a date from a string
How to:
Kotlin supports date parsing through the java.time package, introduced in Java 8. Here’s a simple approach using LocalDateTime and a specific pattern:
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
fun parseDateFromString(dateString: String): LocalDateTime {
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
return LocalDateTime.parse(dateString, formatter)
}
fun main() {
val dateString = "2023-04-01 12:00:00"
val date = parseDateFromString(dateString)
println(date) // Output: 2023-04-01T12:00
}For more flexibility, or to handle dates from external sources like APIs, you might use a third-party library such as Joda-Time (though it’s less common now with java.time being robust). However, sticking with the modern approach provided by the JDK is preferred for most Kotlin applications.
To parse a date in Kotlin without using third-party libraries, you can also make use of the SimpleDateFormat class for versions before Java 8 or Android API levels lacking java.time support:
import java.text.SimpleDateFormat
fun parseDateUsingSimpleDateFormat(dateString: String): java.util.Date {
val formatter = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
return formatter.parse(dateString)
}
fun main() {
val dateString = "2023-04-01 12:00:00"
val date = parseDateUsingSimpleDateFormat(dateString)
println(date) // Output will vary based on your timezone, e.g., Sat Apr 01 12:00:00 GMT 2023
}Remember to always set the timezone if working with SimpleDateFormat to avoid unexpected offsets in parsed dates.