How to Format LocalDateTime in Java

Java example of formatting LocalDateTime instance to String using default formats in DateTimeFormatter class and format to custom patterns.

Java examples to format LocalDateTime instance to String using DateTimeFormatter class.

1. Default Format with LocalDateTime.toString()

By default, LocalDateTime format in the following ISO-8601 formats based on the available date and times parts:

uuuu-MM-dd'T'HH:mm
uuuu-MM-dd'T'HH:mm:ss
uuuu-MM-dd'T'HH:mm:ss.SSS
uuuu-MM-dd'T'HH:mm:ss.SSSSSS
uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSS

Let us see an example.

System.out.println( LocalDateTime.now() );   //2022-12-09T18:19:26.492745400

2. LocalDateTime.format() Method

The format() method formats the given LocalDateTime instance using the specified format by DateTimeFormatter instance. It throws DateTimeException – if an error occurs during formatting.

public String format(DateTimeFormatter formatter)

Note that DateTimeFormatter is immutable and thread-safe, and thus the recommended approach is to store it in a static constant where possible. We should not need to create new instances everytime we use it.

3. LocalDateTime Format Examples

3.1. Inbuilt Patterns

In the given example, we have created a new instance using LocalDateTime.now() representing the current date and time. We are using an inbuilt DateTimeFormatter instance using the constant ISO_DATE_TIME. There are several inbuilt patterns available for other frequently used date-time formats.

Finally, use the format() method to get the formatted string.

final static DateTimeFormatter ISO_FORMATTER = DateTimeFormatter.ISO_DATE_TIME;

LocalDateTime ldt = LocalDateTime.now();
String formattedDateTime = ldt.format(ISO_FORMATTER);  //2022-12-09T18:25:58.6037597

3.2. Custom Pattern

Use ofPattern() method if you want to use a custom pattern for formatting.

final static DateTimeFormatter CUSTOM_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

LocalDateTime ldt = LocalDateTime.now();
String formattedString = ldt.format(CUSTOM_FORMATTER);  //2022-12-09 18:25:58

4. Parsing a String to LocalDateTime

The following example parses a given date-time String to LocalDateTime instance. It uses the parse(dateTimeString, formatter) for parsing the given dateTimeString using the provided formatter.

//date in String
String dateString = "2018-07-14T17:45:55.9483536";

DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;

//Parse String to LocalDateTime
LocalDateTime dateTime = LocalDateTime.parse(dateString, formatter);

Happy Learning !!

Sourcecode Download

Weekly Newsletter

Stay Up-to-Date with Our Weekly Updates. Right into Your Inbox.

Comments

Subscribe
Notify of
2 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

About Us

HowToDoInJava provides tutorials and how-to guides on Java and related technologies.

It also shares the best practices, algorithms & solutions and frequently asked interview questions.