Home » Java » Enterprise Java » HOW-TO: Java 8 Date & Time with Thymeleaf and Spring Boot

About Rafal Borowiec

Rafal Borowiec
Software developer, Team Leader, Agile practitioner, occasional blogger, lecturer. Open Source enthusiast, quality oriented and open-minded.

HOW-TO: Java 8 Date & Time with Thymeleaf and Spring Boot

If you happen to work with Spring Boot and Thymeleaf and you need to format Java 8 Date & Time objects in your views you may utilize thymeleaf-extras-java8time – Thymeleaf module for Java 8 Date & Time API.

Adding thymeleaf-extras-java8time to an existing Maven or Gradle based Spring Boot project is as easy as adding a dependency and registering new dialect with a template engine.

For Maven, you add the following dependency to you existing POM:

<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-java8time</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>

Once you have done it, the next step is to add the dialect to the template engine. With Spring Boot you need to define a bean of type org.thymeleaf.extras.java8time.dialect.Java8TimeDialect in your appliacation context. All beans of type org.thymeleaf.dialect.IDialect are injected into Spring Boot’s ThymeleafAutoConfiguration and added to Thymeleaf’s SpringTemplateEngine automatically.

@SpringBootApplication
public class Application {

    @Bean
    public Java8TimeDialect java8TimeDialect() {
        return new Java8TimeDialect();
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

What Java8TimeDialectdoes, it adds a temporalsobject to the context as utility objects during expression evaluations. This means, that it can be used in OGNL or SpringEL expression evaluations:

The time is: <strong th:text="${#temporals.format(now, 'dd/MMM/yyyy HH:mm')}">31/12/2015 15:00</strong>

temporals provide many utility method to work with java.time.Temporal: formatting, accessing properties and creating new objects. For more information about the extension and temporals itself checkout project page on GitHub: thymeleaf-extras-java8time

Note: The Spring Boot and Thymeleaf project setup is described in greater details in this blog post: Spring Boot and Thymeleaf with Maven

(0 rating, 0 votes)
You need to be a registered member to rate this.
Start the discussion Views Tweet it!
Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments