Thymeleaf在模板中使用 #dates 或 #calendars 两个对象来处理日期,这两个对象大部分类似。

开发环境:IntelliJ IDEA 2019.2.2
Spring Boot版本:2.1.8

新建一个名称为demo的Spring Boot项目。

1、pom.xml
加入Thymeleaf依赖

        <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2、src/main/resources/application.yml
设置模板缓存为false,这样修改html页面后刷新浏览器能马上看到结果

spring:
thymeleaf:
cache: false

3、src/main/java/com/example/demo/TestController.java

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping; import java.util.*; @Controller
public class TestController {
@RequestMapping("/")
public String test(Model model){
Calendar cal = Calendar.getInstance();
Date date = cal.getTime(); Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.add(Calendar.DATE, 1);
cal2.add(Calendar.DATE, 2); Date[] arr = new Date[]{cal1.getTime(), cal2.getTime()};
List list = Arrays.asList(arr);
Set set = new HashSet(list); model.addAttribute("date", date);
model.addAttribute("cal", cal);
model.addAttribute("arr", arr);
model.addAttribute("list", list);
model.addAttribute("set", set); return "test";
}
}

4、src/main/resources/templates/test.html

<div>格式化日期<div>
format(date)
<div th:text="${#dates.format(date)}"></div>
formatISO(date)
<div th:text="${#dates.formatISO(date)}"></div>
format(date,'yyyy-MM-dd HH:mm:ss')
<div th:text="${#dates.format(date,'yyyy-MM-dd HH:mm:ss')}"></div>
format(cal)
<div th:text="${#calendars.format(cal)}"></div>
formatISO(date)
<div th:text="${#calendars.formatISO(date)}"></div>
format(date,'yyyy-MM-dd HH:mm:ss')
<div th:text="${#calendars.format(date,'yyyy-MM-dd HH:mm:ss')}"></div>
arrayFormat(arr)
<div th:each="date : ${#dates.arrayFormat(arr)}">
<div th:text="${date}"></div>
</div>
listFormat(list,'yyyy-MM-dd')
<div th:each="date : ${#dates.listFormat(list,'yyyy-MM-dd')}">
<div th:text="${date}"></div>
</div>
setFormat(set)
<div th:each="date : ${#dates.setFormat(set)}">
<div th:text="${date}"></div>
</div>
<div>获取日期<div>
day(date) 第几天
<div th:text="${#dates.day(date)}"></div>
month(date) 月份
<div th:text="${#dates.month(date)}"></div>
monthName(date) 月份名称
<div th:text="${#dates.monthName(date)}"></div>
monthNameShort(date) 月份名称简称
<div th:text="${#dates.monthNameShort(date)}"></div>
year(date) 年份
<div th:text="${#dates.year(date)}"></div>
dayOfWeek(date) 星期几索引
<div th:text="${#dates.dayOfWeek(date)}"></div>
dayOfWeekName(date) 星期几名称
<div th:text="${#dates.dayOfWeekName(date)}"></div>
dayOfWeekNameShort(date) 星期几名称简称
<div th:text="${#dates.dayOfWeekNameShort(date)}"></div>
hour(date) 时
<div th:text="${#dates.hour(date)}"></div>
minute(date) 分
<div th:text="${#dates.minute(date)}"></div>
second(date) 秒
<div th:text="${#dates.second(date)}"></div>
millisecond(date) 毫秒
<div th:text="${#dates.millisecond(date)}"></div>

浏览器访问:http://localhost:8080
页面输出:

格式化日期
format(date)
2019年10月13日 下午10时35分32秒
formatISO(date)
2019-10-13T22:35:32.484+08:00
format(date,'yyyy-MM-dd HH:mm:ss')
2019-10-13 22:35:32
format(cal)
2019年10月13日 下午10时35分32秒
formatISO(date)
2019-10-13T22:35:32.484+08:00
format(date,'yyyy-MM-dd HH:mm:ss')
2019-10-13 22:35:32
arrayFormat(arr)
2019年10月14日 下午10时35分32秒
2019年10月15日 下午10时35分32秒
listFormat(list,'yyyy-MM-dd')
2019-10-14
2019-10-15
setFormat(set)
2019年10月15日 下午10时35分32秒
2019年10月14日 下午10时35分32秒
获取日期
day(date) 第几天
13
month(date) 月份
10
monthName(date) 月份名称
十月
monthNameShort(date) 月份名称简称
十月
year(date) 年份
2019
dayOfWeek(date) 星期几索引
1
dayOfWeekName(date) 星期几名称
星期日
dayOfWeekNameShort(date) 星期几名称简称
星期日
hour(date) 时
22
minute(date) 分
35
second(date) 秒
32
millisecond(date) 毫秒
484

Thymeleaf对象的使用:日期对象的更多相关文章

  1. JavaScript Date 对象 实现 时间戳=>日期对象 ,时间戳=>字符串,字符串=>时间戳,获取一年内所有的星期

    由于业务需求要写一个日历,日历好写,但是,要标出周六和周日为红色,用到的部分核心函数如下: <script> /* *时间戳=>日期对象 * return Number * */ f ...

  2. JS内置对象-String对象、Date日期对象、Array数组对象、Math对象

    一.JavaScript中的所有事物都是对象:字符串.数组.数值.函数... 1.每个对象带有属性和方法 JavaScript允许自定义对象 2.自定义对象 a.定义并创建对象实例 b.使用函数来定义 ...

  3. js对象 1字符串对象2时间日期对象3数字对象

    1字符串对象  直接对字符操作 var str = "这,是,不,是,字,符,串";        //字符串转数组  字符串.split(分隔符)        var arr ...

  4. js之Date(日期对象)

    通过日期对象我们可以进行一些对日期时间的操作处理 一.日期对象的创建: var myDate=new Date() 二.Date对象方法: Link:http://www.w3school.com.c ...

  5. java基础1.5版后新特性 自动装箱拆箱 Date SimpleDateFormat Calendar.getInstance()获得一个日历对象 抽象不要生成对象 get set add System.arrayCopy()用于集合等的扩容

    8种基本数据类型的8种包装类 byte Byte short Short int Integer long Long float Float double Double char Character ...

  6. safari 日期对象新建new Date( timeStr ) 参数TimeStr格式

    这是一个浏览器兼容的问题,在此总结一下,别老在这掉坑. 先坐下测试 var timeStrArray = [ '2016-10-04', '2016.10.04', '2016/10/04', '10 ...

  7. js 日期对象Date以及传参

    创建一个日期对象,日期对象可传参new Date() 创建日期对象getFullYear() 获取年份 getMonth() 获取月份 返回值是 0(一月) 到 11(十二月) 之间的一个整数 get ...

  8. 日期对象-Date

    新建日期对象  var date = new Date(); getTime()         从 1970年 1月 1日开始计算到 Date 对象中的时间之间的毫秒数. getFullYear() ...

  9. JavaScript内置对象(字符串,数组,日期的处理)

    Date 日期对象 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义一个时间对象 : var Udate=new Date(); 注意:使用关键字new,Date()的首 ...

随机推荐

  1. Dynamics 365 Portal 修改注册页面及Profile页面

    一,Profile页面 客户要求在Portal Profile页面上添加性别字段,通过查看源代码发现,中间的联系人信息部分是引用的CRM中Contact实体的Portal Web Form表单,直接把 ...

  2. Neo4j安装过程详解

    在安装neo4j之前,需要安装Java JRE,并配置Java开发环境,然后安装neo4j服务. 一.CentOS下安装 1.下载Neo4j 去官网下载最新的neo4j,选择社区版.地址:https: ...

  3. Repository封装方法

    1.创建依赖的实体类 /// <summary> /// 泛型实体基类 /// </summary> /// <typeparam name="TPrimary ...

  4. cinder安装与配置

    cinder是openstack中提供块存储服务的组件,主要是为虚拟机实例提供虚拟磁盘. 通过某种协议(SAS,SCSI,SAN,iSCSI等)挂接裸硬盘,然后分区.格式化创建的文件,或者直接使用裸硬 ...

  5. vue学习笔记(十)路由

    前言 在上一篇博客vue学习笔记(九)vue-cli中的组件通信内容中,我们学习组件通信的相关内容和进行了一些组件通信的小练习,相信大家已经掌握了vue-cli中的组件通信,而本篇博客将会带你更上一层 ...

  6. 使用python的一些笔记

    语法 传值与传引用 Python参数传递采用的是"传对象引用"的方式.这种方式相当于传值和传引用的一种综合. 如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的 ...

  7. ES-映射和分析

    参考: https://es.xiaoleilu.com/052_Mapping_Analysis/00_Intro.html 1. 概念 映射(mapping)机制用于进行字段类型确认,将每个字段匹 ...

  8. LiggEasyWinApp-103-Ligg.EasyWinForm:View

    首先请在VS里打开下面的文件,我们将对源码分段进行说明: View(视图):一个Function(功能)对应多个View(视图),本框架用View(视图)实现多窗体(MDI)的效果. 一个View(视 ...

  9. 从零开始学vuejs

    最近一段时间都花在了学习vue上,还总是断断续续的,学习的效果不是很明显,思考了好久了,应该是没有进行一个系统的总结,导致很多知识点总是似是而非,而且也有一部分是思维还没有从java转变过来,废话不多 ...

  10. mongodb主备配置

    前言:mongodb目前推荐的方式是副本集的方式实现,但是副本集需要三台服务器,目前配置为主备方式 假设你已经安装好了mongo,并配置好了响应的用户 下面修改mongodb.conf配置文件,开启认 ...