|
|
作用:用来格式化显示日期的格式。
它可以用一种你指定的格式来显示 (如:“yyyy-MM-dd”),可以生成通俗易懂的注释(如:in 2 hours,14 minutes),或者用预先定义的一个格式来显示(如在properties配置文件中配置'struts.date.format').如果没有找到 这个struts.date.format,则会找默认的DateFormat.MEDIUM来格式化你的日期对象。当然如果在值栈中没有找你对应的日期对象,则会返回空格。
可配置的标签属性有:
· name
· nice
· format
下面这些功能的使用决定于nice属性与format属性。
1、nice属性为true
i18n key | default |
struts.date.format.past | {0} ago |
struts.date.format.future | in {0} |
struts.date.format.seconds | an instant |
struts.date.format.minutes | {0,choice,1#one minute|1<{0} minutes} |
struts.date.format.hours | {0,choice,1#one hour|1<{0} hours}{1,choice,0#|1#, one minute|1<, {1} minutes} |
struts.date.format.days | {0,choice,1#one day|1<{0} days}{1,choice,0#|1#, one hour|1<, {1} hours} |
struts.date.format.years | {0,choice,1#one year|1<{0} years}{1,choice,0#|1#, one day|1<, {1} days} |
2、nice属性为 false,format属性指定的格式 如:dd/MM/yyyy
在这种情况下,format属性将被使用。
3、nice属性为false,format属性没有指定。
i18n key | default |
struts.date.format | if one is not found DateFormat.MEDIUM format will be used |
4、参数
Name | Required | Default | Evaluated | Type | Description |
format | false |
| false | String | 日 期格式 |
id | false |
| true | String | 与普通html的id一样 |
name | true |
| true | String | 日 期的值 |
nice | false | false | true | Boolean | 是否打印出更nicely的格式 |
例子:
<s:date name="person.birthday" format="dd/MM/yyyy" />
国际化文件的使用
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />
日期格式API
字母 | 日期或时间元素 | 表示 | 示例 |
G | Era 标志符 | Text | AD |
y | 年 | Year | 1996; 96 |
M | 年中的月份 | Month | Julyde>; de>Julde>; de>07de> |
w | 年中的周数 | Number | de>27de> |
W | 月份中的周数 | Number | de>2de> |
D | 年中的天数 | Number | de>189de> |
d | 月份中的天数 | Number | de>10de> |
F | 月份中的星期 | Number | de>2de> |
E | 星期中的天数 | Text | de>Tuesdayde>; de>Tuede> |
a | Am/pm 标记 | Text | de>PMde> |
H | 一天中的小时数(0-23) | Number | de>0de> |
k> | 一天中的小时数 (1-24) | Number | de>24de> |
K | am/pm 中的小时数(0-11) | Number | de>0de> |
h | am/pm 中的小时数(1-12) | Number | de>12de> |
m | 小时中的分钟数 | Number | de>30de> |
s | 分钟中的秒数 | Number | de>55de> |
S | 毫秒数 | Number | de>978de> |
z | 时区 | General time zone | de>Pacific Standard Timede>; de>PSTde>; de>GMT-08:00de> |
Z | 时区 | RFC 822 time zone | de>-0800de> |
如果用oracle的话,如果你写的正确的日期格式,用String也可以的。Oracle的to_date函数可以将CHAR、VARCHAR2、 NCHAR、NVARCHAR2类型数据转换成DATE数据类型的值. 如果不指定格式,则会用默认的格式。默认的格式包为:NLS_TERRITORY。更多的信息应该参考Oracle的文档了。
注意:s:date标签使用时,显示的数据一定要是Date类型。