5.6.3 timeZone标签
timeZone
标签用于定义时区,使其body content
中的时间信息按指定时区进行格式化或者解析。其语法如下:
1 2 3
| <fmt:timeZone value="timeZone"> body content </fmt:timeZone>
|
body content
是JSP
。
timeZone标签的属性
timeZone
只有一个value
属性,value
属性的属性值可以是类型为String
或者java.util.TimeZone
的动态值。
美国和加拿大时区的值
美国和加拿大时区的值如下表所示:
缩写 |
全名 |
时区 |
NST |
纽芬兰标准时间 |
UTC-3:30 |
NDT |
纽芬兰夏时制 |
UTC-2:30 |
AST |
大西洋标准时间 |
UTC-4 |
ADT |
大西洋夏时制 |
UTC-3 |
EST |
东部标准时间 |
UTC-5 |
EDT |
东部夏时制 |
UTC-4 |
ET |
东部时间,如EST 或EDT |
* |
CST |
中部标准时间 |
UTC-6 |
CDT |
中部夏时制 |
UTC-5 |
CT |
中部时间,如CST 或CDT |
* |
MST |
山地标准时间 |
UTC-7 |
MDT |
山地夏时制 |
UTC-6 |
MT |
山地时间,如MST 或MDT |
* |
PST |
太平洋标准时间 |
UTC-8 |
PDT |
太平洋夏时制 |
UTC-7 |
PT |
太平洋时间,如PST 或PDT |
* |
AKST |
阿拉斯加标准时间 |
UTC-9 |
AKDT |
阿拉斯加夏时制 |
UTC-8 |
HST |
夏威夷标准时间 |
UTC-10 |
如果value
属性为null
或者empty
,则使用GMT
时区。
实例
设置请求对象中设置属性
1 2 3 4
| <%@page import="java.util.Date"%> <% request.setAttribute("now", new Date()); %>
|
使用timeZone标签设置时区
1 2 3 4 5 6 7 8 9 10 11 12 13
| <fmt:timeZone value="GMT+1:00"> <!-- 使用该时区格式化日期和时间 --> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br> <fmt:timeZone value="HST"> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br> <fmt:timeZone value="CST"> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br>
|
运行结果:
1 2 3
| 2019年4月6日 星期六 上午07时48分22秒 GMT+01:00 2019年4月5日 星期五 下午08时48分22秒 HST 2019年4月6日 星期六 上午01时48分22秒 CDT
|
小结
在timeZone
标签的标签体
中使用formatDate
标签,可以得到该时区对应的格式化时间。
完整代码
timeZoneTest.jsp
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>timeZone Test</title> </head> <body> <%@page import="java.util.Date"%> <% request.setAttribute("now", new Date()); %> <fmt:timeZone value="GMT+1:00"> <!-- 使用该时区格式化日期和时间 --> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br> <fmt:timeZone value="HST"> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br> <fmt:timeZone value="CST"> <fmt:formatDate value="${now}" type="both" dateStyle="full" timeStyle="full" /> </fmt:timeZone><br> </body> </html>
|