jstl中的日期格式化

JSP Standard Tag Libraries
Formatting and Internationalization
Two form input parameters, 'date' and 'isoDate', are URL-encoded in the link leading to this page. 'isoDate' is formatted according to the ISO8601 standard.
Formatting of numbers and dates is based on the browser's locale setting. Formatting will change if you switch the default language setting from English to French or German, for example. (The browser needs to be restarted, too.)

Library import and parameter capturing:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

<fmt:parseDate value="${param.date}" var="date" pattern="yyyy/MM/dd:HH:mm:ss>
<fmt:parseDate value="${param.isoDate}" var="isoDate" pattern="yyyyMMdd'T'HHmmss">

The input parameters must match the patterns, or the JSP will thrown an exception. This page does no error handling.

Input parameters:
Date:    2004/04/01:13:30:00   Java format: Thu Apr 01 13:30:00 CST 2004
isoDate: 20040531T235959       Java format: Mon May 31 23:59:59 CDT 2004

Dates
Tag Output
Attribute: value; required. Tag has no body.
<fmt:formatDate value="${date}" type="both"/>
2004-4-1 13:30:00 

<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59 

Attribute: type; optional. Indicates what to print: date, time, or both.

<fmt:formatDate value="${date}" type="date"/>
2004-4-1 

<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59 

Attribute: dateStyle; optional. Varies the date format.
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
2004-5-31 

<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
04-5-31 

<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
2004-5-31 

<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
2004年5月31日 

<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
2004年5月31日 星期一 

Attribute: timeStyle; optional. Varies the time format.
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
23:59:59 

<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
下午11:59 

<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
23:59:59 

<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
下午11时59分59秒 
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
下午11时59分59秒 CDT
 
Attribute: pattern; optional. Inidcates date/time custom patterns.
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
星期四, 四月 1, 2004 13:30:00 -0600
 
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
31 五月 04, 11:59:59 下午 中央夏令时



补充一个使用此标签可能会出现的问题的解决方法。

如果你使用如下写法
<fmt:formatDate value="${popa.startTime}" type="date" dateStyle="long"/>

而得到的结果确是:2007-11-23 00:00:00.0

原因是标签在解析的时候没有得到正确的locale而造成的。所以我们可以加上一个对locale的设置
<fmt:setLocale value="zh_CN" />
<fmt:formatDate value="${popa.startTime}" type="date" dateStyle="long"/>

ok,显示结果:2007年11月23日

你可能感兴趣的:(C++,c,jsp,C#,sun)