`
高军威
  • 浏览: 175589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

fmt 标签总结

fmt 
阅读更多
fmt 格式化时间
 <fmt:formatNumber value="12" type="currency" pattern="$.00"/>--$12.00

<fmt:formatNumber value="12" type="currency" pattern="$.0#"/>--$12.0

<fmt:formatNumber value="1234567890" type="currency"/>--$1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)

<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>-- 123,456.79

<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/>-- 123,456.7

<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/>-- 123,456.70

<fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、和percent)。

java格式化输出:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号意义
0                     一个数位
#                     一个数位,前导零和追尾零不显示
.                      小数点分割位置
,组分隔符的位置
-                      负数前缀
%                    用100乘,并显示百分号
其他任何符号在输出字符串中包括指定符号

数字用例:<fmt:formatNumber value="${order.orderAmount}" minFractionDigits="2"/>元

--------------------------------------时间格式----------------------------------------------------
jakarta-taglibs-standard-1.1.2
/lib---jstl.jar、standard.jar
/tld---fmt.tld
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
fmt:formatDate 的输出格式
<fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59
<fmt:formatDate value="${date}" type="date"/>2004-4-1

<fmt:formatDate value="${isoDate}" type="time"/>23:59:59
<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日星期一
<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
<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="${question.questiondate}" type="time" timeStyle="full" pattern="yyyy-MM-dd HH:mm"/>2009-01-11 00:28

格式模式

d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。
时间用例:<fmt:formatDate value="${ctocOrder.buyerReleaseTime}" pattern="yyyy-MM-dd HH:mm:ss"/>



fmt 格式化时间(2011-09-16 14:21:01)转载▼标签: fmtjs杂谈分类: JS  
<fmt:formatNumber value="12" type="currency" pattern="$.00"/>--$12.00

<fmt:formatNumber value="12" type="currency" pattern="$.0#"/>--$12.0

<fmt:formatNumber value="1234567890" type="currency"/>--$1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)

<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>-- 123,456.79

<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/>-- 123,456.7

<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/>-- 123,456.70

<fmt:formatNumber value="12" type="percent" /> -- 1,200% (type 可以是currency、 number、和percent)。

java格式化输出:
DecimalFormat df = new DecimalFormat("格式");
String fmt =df.format(double);
符号意义
0                     一个数位
#                     一个数位,前导零和追尾零不显示
.                      小数点分割位置
,组分隔符的位置
-                      负数前缀
%                    用100乘,并显示百分号
其他任何符号在输出字符串中包括指定符号

数字用例:<fmt:formatNumber value="${order.orderAmount}" minFractionDigits="2"/>元

--------------------------------------时间格式----------------------------------------------------

jakarta-taglibs-standard-1.1.2

/lib---jstl.jar、standard.jar

/tld---fmt.tld

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

fmt:formatDate 的输出格式


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


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

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

<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日星期一

<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

<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="${question.questiondate}" type="time" timeStyle="full" pattern="yyyy-MM-dd HH:mm"/>

2009-01-11 00:28

---------------------------------------------------------------------

格式模式

d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。

时间用例:<fmt:formatDate value="${ctocOrder.buyerReleaseTime}" pattern="yyyy-MM-dd HH:mm:ss"/>jstl fmt标签详解
看到 I18N 就应该想到知识“国际化”, I18N formatting 标签库就是用于在 JSP 页面中做国际化的动作。在该标签库中的标签一共有 12 个,被分为了两类,分别是:
q         国际化核心标签: <fmt:setLocale> 、 <fmt:bundle> 、 <fmt:setBundle> 、 <fmt:message> 、 <fmt:param> 、<fmt:requestEncoding> 。
q         格式化标签: <fmt:timeZone> 、 <fmt:setTimeZone> 、 <fmt:formatNumber> 、 <fmt:parseNumber> 、 <fmt:formatDate> 、 <fmt:parseDate> 。
下面只选择其中常见的一些标签和属性进行介绍。
9.5.1用于设置本地化环境的 <fmt:setLocale> 标签 
<fmt:setLocale> 标签用于设置 Locale 环境。它的属性和描述如表 9.17 所示:
表 9.17   <fmt:setLocale> 标签属性和说明
属性	描述
value 	Locale 环境的指定,可以是 java.util.Locale 或 String 类型的实例
scope 	Locale 环境变量的作用范围(可选)
下面看一个示例:
<fmt:setLocale value="zh_TW"/>
表示设置本地环境为繁体中文。
9.5.2用于资源文件绑定的 <fmt:bundle> 、 <fmt:setBundle> 标签 
这两组标签用于资源配置文件的绑定,唯一不同的是 <fmt:bundle> 标签将资源配置文件绑定于它标签体中的显示,<fmt:setBundle> 标签则允许将资源配置文件保存为一个变量,在之后的工作可以根据该变量来进行。
根据 Locale 环境的不同将查找不同后缀的资源配置文件,这点在国际化的任何技术上都是一致的,通常来说,这两种标签单独使用是没有意义的,它们都会与 I18N formatting 标签库中的其他标签配合使用。它们的属性和描述如表 9.18 所示:
表 9.18   <fmt:bundle> 、 <fmt:setBundle> 标签属性和说明
属性	描述
basename 	资源配置文件的指定,只需要指定文件名而无须扩展名,二组标签共有的属性
var 	<fmt:setBundle> 独有的属性,用于保存资源配置文件为一个变量
scope 	变量的作用范围
下面看一个示例
<fmt:setLocale value="zh_CN"/>
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
该示例将会查找一个名为 applicationMessage_zh_CN.properties 的资源配置文件,来作为显示的 Resource 绑定。
9.5.3用于显示资源配置文件信息的 <fmt:message> 标签 
用于信息显示的标签,将显示资源配置文件中定义的信息。它的属性和描述如表 9.19 所示:
表 9.19   <fmt:message> 标签属性和说明
属性	描述
key 	资源配置文件的“键”指定
bundle 	若使用 <fmt:setBundle> 保存了资源配置文件,该属性就可以从保存的资源配置文件中进行查找
var 	将显示信息保存为一个变量
scope 	变量的作用范围
下面看一个示例:
<fmt:setBundle basename="applicationMessage" var="applicationBundle"/>
<fmt:bundle basename="applicationAllMessage">
         <fmt:message key="userName" />
         <p>
         <fmt:message key="passWord" bundle="${applicationBundle}" />
</fmt:bundle>
该示例使用了两种资源配置文件的绑定的做法,“ applicationMessage ”资源配置文件利用 <fmt:setBundle> 标签被赋于了变量“ applicationBundle ”,而作为 <fmt:bundle> 标签定义的“ applicationAllMessage ”资源配置文件作用于其标签体内的显示。
q         第一个 <fmt:message> 标签将使用“ applicationAllMessage ”资源配置文件中“键”为“ userName ”的信息显示。
q         第二个 <fmt:message> 标签虽然被定义在 <fmt:bundle> 标签体内,但是它使用了 bundle 属性,因此将指定之前由 <fmt:setBundle> 标签保存的“ applicationMessage ”资源配置文件,该“键”为“ passWord ”的信息显示。
9.5.4用于参数传递的 <fmt:param> 标签 
<fmt:param> 标签应该位于 <fmt:message> 标签内,将为该消息标签提供参数值。它只有一个属性 value 。
<fmt:param> 标签有两种使用版本,一种是直接将参数值写在 value 属性中,另一种是将参数值写在标签体内。
9.5.6用于为请求设置字符编码的 <fmt:requestEncoding>标签 
<fmt:requestEncoding> 标签用于为请求设置字符编码。它只有一个属性 value ,在该属性中可以定义字符编码。
9.5.7用于设定时区的 <fmt:timeZone> 、 <fmt:setTimeZone> 标签 
这两组标签都用于设定一个时区。唯一不同的是 <fmt:timeZone> 标签将使得在其标签体内的工作可以使用该时区设置, <fmt:setBundle> 标签则允许将时区设置保存为一个变量,在之后的工作可以根据该变量来进行。它们的属性和描述如表 9.20 所示:
表 9.20   <fmt:timeZone> 、 <fmt:setTimeZone> 标签 属性和说明
属性	描述
value 	时区的设置
var 	<fmt:setTimeZone> 独有的属性,用于保存时区为一个变量
scope 	变量的作用范围
9.5.8用于格式化数字的 <fmt:formatNumber> 标签 
<fmt: formatNumber > 标 签用于格式化数字。它的属性和描述如表 9.21 所示:
表 9.21   <fmt:formatNumber> 标签属性和说明
属性	描述
value 	格式化的数字,该数值可以是 String 类型或 java.lang.Number 类型的实例
type 	格式化的类型
pattern 	格式化模式
var 	结果保存变量
scope 	变量的作用范围
maxIntegerDigits 	指定格式化结果的最大值
minIntegerDigits 	指定格式化结果的最小值
maxFractionDigits 	指定格式化结果的最大值,带小数
minFractionDigits 	指定格式化结果的最小值,带小数
<fmt:formatNumber> 标签实际是对应 java.util.NumberFormat 类,
 type 属性的可能值包括 currency (货币)、 number (数字)和 percent (百分比)。
下面看一个示例。
<fmt:formatNumber value="1000.888" type="currency" var="money"/>
该结果将被保存在“ money ”变量中,将根据 Locale 环境显示当地的货币格式。
1.	<fmt:formatNumber value="12" type="currency" pattern="$.00"/>//-- $12.00    
2.	   
3.	<fmt:formatNumber value="12" type="currency" pattern="$.0#"/>//-- $12.0    
4.	   
5.	<fmt:formatNumber value="1234567890" type="currency"/>
//-- $1,234,567,890.00(那个货币的符号和当前web服务器的 local 设定有关)    
6.	   
7.	<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/>// -- 123,456.79   
8.	  
9.	<fmt:formatNumber value="123456.7" pattern="#,#00.0#"/>//-- 123,456.7   
10.	  
11.	<fmt:formatNumber value="123456.7" pattern="#,#00.00#"/>// -- 123,456.70    
12.	<fmt:formatNumber value="12" type="percent" />//-- 1,200% (type 可以是currency、 number、 和percent)。
9.5.9用于解析数字的 <fmt:parseNumber> 标签 
<fmt:parseNumber> 标签用于解析一个数字,并将结果作为 java.lang.Number 类的实例返回。 <fmt:parseNumber> 标签看起来和 <fmt:formatNumber> 标签的作用正好相反。它的属性和描述如表 9.22 所示:
表 9.22   <fmt:parseNumber> 标签属性和说明
属性	描述
value 	将被解析的字符串
type 	解析格式化的类型
pattern 	解析格式化模式
var 	结果保存变量,类型为 java.lang.Number 
scope 	变量的作用范围
parseLocale 	以本地化的形式来解析字符串,该属性的内容应为 String 或 java.util.Locale 类型的实例
下面看一个示例。
<fmt:parseNumber value="15%" type="percent" var="num"/>
解析之后的结果为“ 0.15 ”。
9.5.10用于格式化日期的 <fmt:formatDate> 标签 
<fmt:formatDate> 标签用于格式化日期。它的属性和描述如表 9.23 所示:
表 9.23   <fmt:formatDate> 标签属性和说明
属性	描述
value 	格式化的日期,该属性的内容应该是 java.util.Date 类型的实例
type 	格式化的类型
pattern 	格式化模式
var 	结果保存变量
scope 	变量的作用范围
timeZone 	指定格式化日期的时区
<fmt:formatDate> 标签与 <fmt:timeZone> 、 <fmt:setTimeZone> 两组标签的关系密切。若没有指定 timeZone属性, 也可以通过 <fmt:timeZone> 、 <fmt:setTimeZone> 两组标签设定的时区来格式化最后的结果。
9.5.11用于解析日期的 <fmt:parseDate> 标签 
<fmt:parseDate> 标签用于解析一个日期,并将结果作为 java.lang.Date 类型的实例返回。 <fmt:parseDate> 标签看起来和 <fmt:formatDate> 标签的作用正好相反。它的属性和描述如表 9.24 所示:
表 9.24   <fmt:parseDate> 标签属性和说明
属性	描述
value 	将被解析的字符串
type 	解析格式化的类型
pattern 	解析格式化模式
var 	结果保存变量,类型为 java.lang.Date 
scope 	变量的作用范围
parseLocale 	以本地化的形式来解析字符串,该属性的内容为 String 或 java.util.Locale 类型的实例
timeZone 	指定解析格式化日期的时区
<fmt:parseNumber> 和 <fmt:parseDate> 两组标签都实现解析字符串为一个具体对象实例的工作,因此,这两组解析标签对 var 属性的字符串参数要求非常严格。就 JSP 页面的表示层前段来说,处理这种解析本不属于份内之事,因此 <fmt:parseNumber> 和 <fmt:parseDate> 两组标签应该尽量少用,替代工作的地方应该在服务器端表示层的后段,比如在 Servlet 中。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics