Kotlin Program to Convert String to Date

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

Did you find this article helpful?