Convert String to LocalDateTime in Java

Convert String to LocalDateTime in Java

In this article, we will see how to convert String to LocalDateTime in Java.

LocalDateTime class was introduced in Java 8. LocalDateTime represents local date and time without timezone information. It is represented in ISO 8601 format (yyyy-MM-ddTHH:mm:ss) by default.

Java String to LocalDateTime

To convert String to LocalDateTime in Java, LocalDateTime provides static method parse() which takes String as input and returns LocalDateTime object.

public static LocalDateTime parse(CharSequence text)

parse() method accepts a date time String in ISO-8601 by default.

package org.arpit.java2blog;

import java.time.LocalDateTime;

public class StringToLocalDateTime {

    public static void main(String[] args) {

        // ISO-8601 formatted String
        String dateStr = "2022-02-16T10:22:15";

        // Convert String to LocalDateTime using Parse() method
        LocalDateTime localDateTime = LocalDateTime.parse(dateStr);

        // Print LocalDateTime object
        System.out.println("LocalDateTime obj: "+localDateTime);
    }
}

Output:

LocalDateTime obj: 2022-02-16T10:22:15

In case, if you provide String in any other format, it will throw DateTimeParseException.

      package org.arpit.java2blog;

import java.time.LocalDateTime;

public class StringToLocalDateTime {

    public static void main(String[] args) {

        // ISO-8601 formatted String
        String dateStr = "2022-02-16 10:22:15";

        // Convert String to LocalDateTime using Parse() method
        LocalDateTime localDateTime = LocalDateTime.parse(dateStr);

        // Print LocalDateTime object
        System.out.println("LocalDateTime obj: "+localDateTime);
    }
}

Output:

Exception in thread “main” java.time.format.DateTimeParseException: Text ‘2022-02-16 10:22:15’ could not be parsed at index 10
at java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2046)
at java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1948)
at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:492)
at java.base/java.time.LocalDateTime.parse(LocalDateTime.java:477)
at org.arpit.java2blog.StringToLocalDateTime.main(StringToLocalDateTime.java:13)

Convert String to LocalDateTime with custom format

To convert String to LocalDateTime with custom format, we can use DateTimeFormatter.

  • Create DateTimeFormatter instance with specified format
  • Pass date formatted String and DateTimeFormatter instance to LocalDateTime’s parse() method.
package org.arpit.java2blog;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class StringToLocalDateTime {

    public static void main(String[] args) {

        // Custom formatted String
        String dateStr = "2022-02-16 10:22";

        // Create DateTimeFormatter instance with specified format
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");

        // Convert String to LocalDateTime using Parse() method
        LocalDateTime localDateTime = LocalDateTime.parse(dateStr,dateTimeFormatter);

        // Print LocalDateTime object
        System.out.println("LocalDateTime obj: "+localDateTime);
    }
}

Output:

LocalDateTime obj: 2022-02-16T10:22

That’s all about how to convert String to LocalDateTime in Java.

[social_share share_on="facebook,twitter,linkedin,whatsapp"][post_navigator in_same_term="true"]

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.