5.6.6 parseDate标签

5.6.6 parseDate标签

parseDate标签以区分地域的格式解析以字符串表示的日期和时间,其语法有两种形式。第一种形式没有body content

1
2
3
4
5
6
7
8
9
<fmt:parseDate value="dateString"
[type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[parseLocale="parseLocale"]
[var="varName"]
[scope="{page|request|session|application}"]/>

第二种形式有body content

1
2
3
4
5
6
7
8
9
10
<fmt:parseDate [type="{time|date|both}"]
[dateStyle="{default|short|medium|long|full}"]
[timeStyle="{default|short|medium|long|full}"]
[pattern="customPattern"]
[timeZone="timeZone"]
[parseLocale="parseLocale"]
[var="varName"]
[scope="{page|request|session|application}"]>
date value to be parsed
</fmt:parseDate>

body contentJSP

parseDate标签的属性

属性 类型 描述
value+ 字符串 要解析的字符串
type+ 字符串 说明要解析的字符串中是否包含日期、时间或二者均有
dateStyle+ 字符串 日期的格式化样式
timeStyle+ 字符串 时间的格式化样式
pattern+ 字符串 定制格式化样式,决定要如何解析该字符串
timeZone+ 字符串或者java.util.TimeZone 定义时区,使日期字符串中的时间信息均根据它来解析
parseLocale+ 字符串或者java.util.Locale 定义locale,在解析操作期间用其默认为格式化样式,或将pattern属性定义的样式应用其中
var 字符串 保存输出结果的有界变量名称
scope 字符串 var的范围

实例

下面的parseDate标签用于解析有界变量myDate引用的日期,并将得到的java.util.Date保存在一个页面范围的有界变量formattedDate中:

解析字符串为Date对象 并保存为页面有界变量

1
2
3
<c:set var="myDate" value="12/12/2005"/>
<fmt:parseDate var="formattedDate" type="date"
dateStyle="short" value="${myDate}"/>

使用保存的时间有界变量

1
<strong>${formattedDate}</strong>

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>parseDate Test</title>
</head>
<body>
<c:set var="myDate" value="2019-4-6" />
<fmt:parseDate var="formattedDate" type="date"
dateStyle="default"
value="${myDate}" />
<strong>${formattedDate}</strong>
</body>
</html>

运行结果:

1
Sat Apr 06 00:00:00 CST 2019