Example 1: Convert String to Date using predefined formatters
import java.time.LocalDate
import java.time.format.DateTimeFormatter
fun main(args: Array<String>) {
// Format y-M-d or yyyy-MM-d
val string = "2017-07-25"
val date = LocalDate.parse(string, DateTimeFormatter.ISO_DATE)
println(date)
}
When you run the program, the output will be:
2017-07-25
In the above program, we've used the predefined formatter ISO_DATE that takes date string in the format 2017-07-25 or 2017-07-25+05:45'.
The LocalDate's parse() function parses the given string using the given formatter. You can also remove the ISO_DATE formatter in the above example and replace the parse() method with:
LocalDate date = LocalDate.parse(string, DateTimeFormatter);
Example 2: Convert String to Date using pattern formatters
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.Locale
fun main(args: Array<String>) {
val string = "July 25, 2017"
val formatter = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH)
val date = LocalDate.parse(string, formatter)
println(date)
}
When you run the program, the output will be:
2017-07-25
In the above program, our date is in the format MMMM d, yyyy
. So, we create a formatter of the given pattern. Check all DateTimeFormatter patterns, if you're interested.
Now, we can parse the date using LocalDate.parse()
function and get the LocalDate
object.
Here's the equivalent Java code: Java program to convert string to date