Thymeleaf自带的时间工具类

先简单介绍下Thymeleaf:

Thymeleaf是一种用于Web和独立环境的现代服务器端的Java模板引擎。
Thymeleaf的主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中正确显示,并且可以作为静态原型,让开发团队能更容易地协作。Thymeleaf能够处理HTML,XML,JavaScript,CSS甚至纯文本。
Thymeleaf使用Spring框架的模块,与许多常见的工具集成在一起,并且可以插入自己的功能,是现代HTML5 JVM Web开发的理想选择,尽管Thymeleaf还有更多其它的功能。
Thymeleaf建立在自然模板的概念之上,以不影响模板作为设计原型的方式将其逻辑注入到模板文件中。 这改善了设计沟通,弥合了前端设计和开发人员之间的理解偏差。

本文重点不在Thymeleaf模板,而是在开发中无意发现(如获至宝)他自带的一个时间工具类org.thymeleaf.util.DateUtils.

该类提供了20多种方法,一起来看下

  1. format(Object target, Locale locale) 该方法中第一个参数target虽然对象是Object类,但是往下翻源码,还是会对他进行一个判断,所以该参数的对象只能是Calendar或者Data,其他对象会返回一个异常。

第二个参数locale,点击查看Locale对象,发现里面提供很多时区常量,往下翻会找到中国地区

1
2
3
String format = DateUtils.format(new Date(), Locale.SIMPLIFIED_CHINESE);
System.out.println(format);
//format:2019年9月6日 下午03时59分02秒
  1. format(Object target, String pattern, Locale locale) 这一个相信是很常用的方法了,翻开源码发现第二个参数是要格式化的时间格式
    1
    2
    3
    String format1 = DateUtils.format(new Date(), "yyyy-MM-dd", Locale.SIMPLIFIED_CHINESE);
    System.out.println(format1);
    // format1:2019-09-06 16:04:59

其他不常用的就不详细罗列了,直观点展示。还有create方法,感觉一般更用不上,不展示了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 2019-09-06 16:20:21

System.out.println(DateUtils.dayOfWeek(new Date()));// 6
System.out.println(DateUtils.dayOfWeekName(new Date(),Locale.SIMPLIFIED_CHINESE));//星期五
System.out.println(DateUtils.dayOfWeekNameShort(new Date(),Locale.SIMPLIFIED_CHINESE));//星期五

System.out.println(DateUtils.monthName(new Date(),Locale.SIMPLIFIED_CHINESE));//九月
System.out.println(DateUtils.monthNameShort(new Date(),Locale.SIMPLIFIED_CHINESE));//九月

System.out.println(DateUtils.year(new Date()));//2019
System.out.println(DateUtils.month(new Date()));//9
System.out.println(DateUtils.day(new Date()));//6
System.out.println(DateUtils.hour(new Date()));//16
System.out.println(DateUtils.minute(new Date()));//20
System.out.println(DateUtils.second(new Date()));//21
System.out.println(DateUtils.millisecond(new Date()));//98

写完才发现没啥用,一个小小的功能写个博客浪费时间…


-------------本文结束感谢您的阅读-------------
感觉文章不错,就赏个吧!
0%