JSP JSTL <fmt:formatDate>标签:格式化时间
<fmt:formatDate> 标签可以把字符串类型的数字解析成数字类型的数值,使其可以组合算术运算形成其他数值结果。
语法:
<fmt:formatDate> 标签各属性的详细介绍如表所示。
使用 <fmt:formatDate> 标签的 value 属性设置要格式化的日期,最后使用 <c:forEach> 标签把所有信息迭代到页面中,关键代码如下:
语法:
<fmt:formatDate value="date"
[type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[var="varName"]
[scope="{page|request|session|application}"]/>
<fmt:formatDate> 标签各属性的详细介绍如表所示。
属性 | 类型 | 描述 | 引用 EL |
---|---|---|---|
value | java.util.Date | 将要格式化的日期对象 | 可以 |
type | String | 指定显示日期对象的日期还是时间,可以两者都显示,它的取值可选time(时间)、date(日期)和both(两者)均有 | 可以 |
pattern | String | 模式字符串 | 可以 |
dateStyle | String | 指定日期的显示方式 | 可以 |
timeStyle | String | 指定时间的显示方式 | 可以 |
timeZone | String,java.util.TimeZone | 设置时区 | 可以 |
var | String | 存储格式化后日期对象的格式 | 不可以 |
scope | String | 变量的作用范围 | 不可以 |
示例1
本示例应用 <fmt:formatDate> 标签将当前时间格式化成不同的时间格式,关键代码如下:<%@page import="java.util.Date"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%request.setAttribute("date",new Date());%> <!--显示2008-11-29 11:28:12--> <fmt:formatDate value="${date}" type="both"/> <!--显示2008年11月29日星期六上午11时28分12秒CST--> <fmt:formatDate value="${date}" dateStyle="full" timeStyle="full" type="both"/> <fmt:formatDate value="${date}" type="date"/><!--显示2008-11-29--> <!--显示2008年11月29日--> <fmt:formatDate value="${date}" dateStyle="long" type="date"/> <!--显示08-11-29--> <fmt:formatDate value="${date}" dateStyle="short" type="date"/> <fmt:formatDate value="${date}" type="time"/><!--显示11:28:12--> <!--显示午11时28分12秒--> <fmt:formatDate value="${date}" timeStyle="long" type="time"/> <!--显示上午11:28--> <fmt:formatDate value="${date}" timeStyle="short" type="time"/>
示例2
本示例以北京时间 2008-11-29 11:35:19 为例,设置 timeZone 属性,显示美国太平洋时区的时间,关键代码如下:<%@page import="java.util.Date"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%request.setAttribute("date",new Date());%> <!--显示2008-11-28 19:35:19--> <fmt:formatDate value="${date}" type="both" timeZone="America/Los_Angeles"/> <!--显示2008-11-29 11:35:19--> <fmt:formatDate value="${date}" type="both"/>说明 America/Los_Angeles 表示美国太平洋时区。
示例3
本示例应用 <fmt:formatDate> 标签,在标签中按照自定义的格式输出当前日期时间,关键代码如下:<%@page import="java.util.Date"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> <%request.setAttribute("date",new Date());%> <!--显示20081129 114852--> <fmt:formatDate value="${date}" type="both" pattern="yyyyMMdd HHmmss"/> <!--显示2008/11/29--> <fmt:formatDate value="${date}" type="date" pattern="yyyy/MM/dd"/>
典型应用
本示例使用 <fmt:formatDate> 标签对日期格式化,将实现对所有地区(即不同时区和地点)的日期时间的格式转换。使用 <fmt:formatDate> 标签的 value 属性设置要格式化的日期,最后使用 <c:forEach> 标签把所有信息迭代到页面中,关键代码如下:
<div align="center">日期格式化标签</div> <% Field[]field = Locale.class.getFields(); List<Locale>localeList = new ArrayList<Locale>(); for(int i=0;i<field.length;i++){ if(field[i].getType().equals(Locale.class)){ localeList.add((Locale)field[i].get(null)); } } request.setAttribute("localeList",localeList); %> <table align="center"> <tr> <td>地区缩写</td>运行结果如下:
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算