springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)

依赖maven包

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

<dependency>
   <groupId>nz.net.ultraq.thymeleaf</groupId>
   <artifactId>thymeleaf-layout-dialect</artifactId>
   <version>2.4.1</version>
</dependency>
import nz.net.ultraq.thymeleaf.LayoutDialect;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.thymeleaf.extras.java8time.dialect.Java8TimeDialect;

@Configuration
public class TemplateConfiguration {

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

    @Bean
    public LayoutDialect layoutDialect() {
        return new LayoutDialect();
    }
}

thymeleaf中格式化方法

 <td th:text="${#temporals.format(bean.createTime, ‘yyyy-MM-dd HH:mm:ss‘, locale)}"></td>

格式化效果:

官方提供的格式化方法:

/*
 * =============================================================================
 * See javadoc API for class org.thymeleaf.extras.java8time.expression.Temporals
 * =============================================================================
 */

/*
 * Format date with the standard locale format
 * Also works with arrays, lists or sets
 */
${#temporals.format(temporal)}
${#temporals.arrayFormat(temporalsArray)}
${#temporals.listFormat(temporalsList)}
${#temporals.setFormat(temporalsSet)}

/*
 * Format date with the standard format for the provided locale
 * Also works with arrays, lists or sets
 */
${#temporals.format(temporal, locale)}
${#temporals.arrayFormat(temporalsArray, locale)}
${#temporals.listFormat(temporalsList, locale)}
${#temporals.setFormat(temporalsSet, locale)}

/*
 * Format date with the specified pattern
 * SHORT, MEDIUM, LONG and FULL can also be specified to used the default java.time.format.FormatStyle patterns
 * Also works with arrays, lists or sets
 */
${#temporals.format(temporal, ‘dd/MMM/yyyy HH:mm‘)}
${#temporals.arrayFormat(temporalsArray, ‘dd/MMM/yyyy HH:mm‘)}
${#temporals.listFormat(temporalsList, ‘dd/MMM/yyyy HH:mm‘)}
${#temporals.setFormat(temporalsSet, ‘dd/MMM/yyyy HH:mm‘)}

/*
 * Format date with the specified pattern and locale
 * Also works with arrays, lists or sets
 */
${#temporals.format(temporal, ‘dd/MMM/yyyy HH:mm‘, locale)}
${#temporals.arrayFormat(temporalsArray, ‘dd/MMM/yyyy HH:mm‘, locale)}
${#temporals.listFormat(temporalsList, ‘dd/MMM/yyyy HH:mm‘, locale)}
${#temporals.setFormat(temporalsSet, ‘dd/MMM/yyyy HH:mm‘, locale)}

/*
 * Format date with ISO-8601 format
 * Also works with arrays, lists or sets
 */
${#temporals.formatISO(temporal)}
${#temporals.arrayFormatISO(temporalsArray)}
${#temporals.listFormatISO(temporalsList)}
${#temporals.setFormatISO(temporalsSet)}

/*
 * Obtain date properties
 * Also works with arrays, lists or sets
 */
${#temporals.day(temporal)}                    // also arrayDay(...), listDay(...), etc.
${#temporals.month(temporal)}                  // also arrayMonth(...), listMonth(...), etc.
${#temporals.monthName(temporal)}              // also arrayMonthName(...), listMonthName(...), etc.
${#temporals.monthNameShort(temporal)}         // also arrayMonthNameShort(...), listMonthNameShort(...), etc.
${#temporals.year(temporal)}                   // also arrayYear(...), listYear(...), etc.
${#temporals.dayOfWeek(temporal)}              // also arrayDayOfWeek(...), listDayOfWeek(...), etc.
${#temporals.dayOfWeekName(temporal)}          // also arrayDayOfWeekName(...), listDayOfWeekName(...), etc.
${#temporals.dayOfWeekNameShort(temporal)}     // also arrayDayOfWeekNameShort(...), listDayOfWeekNameShort(...), etc.
${#temporals.hour(temporal)}                   // also arrayHour(...), listHour(...), etc.
${#temporals.minute(temporal)}                 // also arrayMinute(...), listMinute(...), etc.
${#temporals.second(temporal)}                 // also arraySecond(...), listSecond(...), etc.
${#temporals.nanosecond(temporal)}             // also arrayNanosecond(...), listNanosecond(...), etc.

/*
 * Create temporal (java.time.Temporal) objects from its components
 */
${#temporals.create(year,month,day)}                                // return a instance of java.time.LocalDate
${#temporals.create(year,month,day,hour,minute)}                    // return a instance of java.time.LocalDateTime
${#temporals.create(year,month,day,hour,minute,second)}             // return a instance of java.time.LocalDateTime
${#temporals.create(year,month,day,hour,minute,second,nanosecond)}  // return a instance of java.time.LocalDateTime

/*
 * Create a temporal (java.time.Temporal) object for the current date and time
 */
${#temporals.createNow()}                      // return a instance of java.time.LocalDateTime
${#temporals.createNowForTimeZone(zoneId)}     // return a instance of java.time.ZonedDateTime
${#temporals.createToday()}                    // return a instance of java.time.LocalDate
${#temporals.createTodayForTimeZone(zoneId)}   // return a instance of java.time.LocalDate

/*
 * Create a temporal (java.time.Temporal) object for the provided date
 */
${#temporals.createDate(isoDate)}              // return a instance of java.time.LocalDate
${#temporals.createDateTime(isoDate)}          // return a instance of java.time.LocalDateTime
${#temporals.createDate(isoDate, pattern)}     // return a instance of java.time.LocalDate
${#temporals.createDateTime(isoDate, pattern)} // return a instance of java.time.LocalDateTime

参考:https://github.com/thymeleaf/thymeleaf-extras-java8time

https://stackoverflow.com/questions/44084013/how-to-configure-java8timedialect-manually-in-a-spring-boot-application

原文地址:https://www.cnblogs.com/passedbylove/p/11635649.html

时间: 2024-11-05 21:52:10

springboot Thymeleaf中格式化jsr310新日期时间类(LocalDateTime,LocalDate)的相关文章

Java日期时间API系列2-----Jdk7及以前的日期时间类在mysql数据库中的应用

1.java中与数据库相关的时间类 java提供与mysql方便交互的三种数据类型: java.sql.Date java.sql.Time java.sql.Timestamp 它们都是继承java.util.Date,算是对该类的精简,很适合跟数据库交互. 2.MySQL 中的日期和时间类型 日期和时间类型 字节 最小值 最大值 DATE 4 1000-01-01 9999-12-31 DATETIME 8 1000-01-01 00:00:00 9999-12-31 23:59:59 TI

日期类时间类,日期时间类,单例模式,装箱与拆箱,数字类随机数,BigDecimal总结

1.日期类,时间类,日期时间类 初步日期使用方法及格式转换方法(旧方法): 格式://Mon Jul 30 11:26:05 CST 2018             年月日时分秒    CST代表北京时间 获取当前毫秒 Date date = new Date(); 转换时间格式: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = sdf.format(date); 日历类的使

java日期时间类总结

日期时间类总结 一. Date类 Date类对象的创建: 1.创建一个当前时间的Date对象 //创建一个代表系统当前日期的Date对象 Date d = new Date(); 2.创建一个我们指定的时间的Date对象: 使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值. //创建一个代表2014年6月12号的Date对象 D

Object类、日期时间类、system类及StringBuilder字符串容器

一.Object类常用API 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.Object类中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默认则继承自Object类. 1.2 toString方法 public String toString() //返回值为 对象的类型[email protected]+内存地址值 由于toString方法返回的结果是内存地址,而在开发中,经常需要按

第12周 项目三-日期时间类

定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期:再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现日期和时间的设置和显示.请实现类TimeDate,下面是用于测试的主函数及参考运行结果. int m

第12周 【项目3】日期时间类

问题描述: 定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期:再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现日期和时间的设置和显示.请实现类TimeDate,下面是用于测试的主函数及参考运行结果.

第十二周(日期时间类)

/* *copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:第十二周(日期时间类) *作者:王忠 *完成日期:2015.5.27 *版本号:v1.0 * *问题描述:定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期:再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,int m,int s)和PrintTi

第12周上机实践项目3——日期时间类

定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期:再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,int m,int s)和PrintTime()函数分别用于设置时间和显示时间,在此基础上再定义一个日期时间类TimeDate,充分利用已有的两个类中提供的方法,实现日期和时间的设置和显示.请实现类TimeDate. 代码 #include <iostream>

第十二周项目3:日期时间类

问题及代码: /* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:project.cpp *作 者:陈文青 *完成日期:2015年5月31日 *版 本 号:v1.0 * *问题描述:定义一个日期类Date,数据成员包括年.月.日,SetDate(int y,int m,int d)和PrintDate()函数分别用于设置日期和显示日期: 再定义一个时间类Time,数据成员包括时.分.秒,SetTime(int h,in