您的位置:首页 > 数据库 > Oracle

struts的date标签和oracle中时间的转换,生成dto的方法

2012-06-13 10:59 531 查看
在用<s:property value="orderDate" />时,当取到的属性是date类型时,它会显示成为yy-MM-dd。

两种解决方案:

或者:dto,把数据库中的date转化为string类型

或者:用struts的date标签, 这样可以按照指定格式显示出来

先说后者:

<s:date name="orderDate" format="yyyy-MM-dd" />,注意,大写的M和小写的m是不一样的。

还可以有nice属性:Nice: 指定是否输出指定日期与当前时刻之间的时差。可以设为true或者false,表示是否漂亮地显示日期,如果设置为true,那么将FORMAT属性将不会生效

Format

(1)当nice="false"时,format属性将起作用,如:"yyyy- MM-dd hh:mm:ss",其中,y是年(year),M是月(Month),d是日(day),h是小时(hour,12小时制),H也是小 时(hour,24小时制),m是分钟(minute),s是秒(second)。

(2)当format未设置时,将会使用默认的格式DateFormat.MEDIUM format

再说前者:

前者就要从oracle中转成对象,时,将其设为指定的格式:

public List queryForPage(int offset, int length) {

SQLQuery query = null;

String resultSql = "select PLATE_ALARM_ID as alarmId,ENABLE as isEnable," +

"ALARM_COMPANY as alarmCompany,PLATE_INFO as plateNo," +

"to_char(START_TIME,'yyyy-mm-dd') as startTime,to_char(END_TIME,'yyyy-mm-dd') as endTime," +

"ALARM_RESON as alarmReason,user_def_name as alarmReasonStr," +

"PRIORITY as priority,CONTACT_PERSON as contactPersonName," +

"CONTACT_PHONE as contactPhoneNo,ALARM_REMARK as description from HPS_PLATEALARMINFO h,hps_userdefine u where h.alarm_Reson=u.user_def_id";

query = (SQLQuery) getSession().createSQLQuery(resultSql)

.addScalar("alarmId", Hibernate.INTEGER)

.addScalar("isEnable", Hibernate.INTEGER)

.addScalar("alarmCompany", Hibernate.STRING)

.addScalar("plateNo", Hibernate.STRING)

.addScalar("startTime", Hibernate.STRING)

.addScalar("endTime", Hibernate.STRING)

.addScalar("alarmReason", Hibernate.INTEGER)

.addScalar("alarmReasonStr", Hibernate.STRING)

.addScalar("priority", Hibernate.INTEGER)

.addScalar("contactPersonName", Hibernate.STRING)

.addScalar("contactPhoneNo", Hibernate.STRING)

.addScalar("description", Hibernate.STRING)

.setFirstResult(offset)

.setMaxResults(length)

.setResultTransformer(Transformers.aliasToBean(HPSPlateAlarmDTO.class));

List<HPSPlateAlarmDTO> hPSPlateAlarmList = query.list();

return hPSPlateAlarmList;

}

转化为dto对象了。。

再说说to_char和to_date:

to_char 是把日期或数字转换为字符串

to_date 是把字符串转换为数据库中得日期类型

简单地说,一般从oracle中取数据,用to_char,向oracle中存数据,用to_date

 转换函数

 TO_CHAR

使用TO_CHAR函数处理数字

TO_CHAR(number, '格式')

TO_CHAR(salary,’$99,999.99’);

使用TO_CHAR函数处理日期

TO_CHAR(date,’格式’);

 TO_NUMBER

使用TO_NUMBER函数将字符转换为数字

TO_NUMBER(char[, '格式'])

 TO_DATE

使用TO_DATE函数将字符转换为日期

TO_DATE(char[, '格式'])

 数字格式格式

9 代表一个数字

0 强制显示0

$ 放置一个$符

L 放置一个浮动本地货币符

. 显示小数点

, 显示千位指示符

 日期格式

格式控制 描述

YYYY、YYY、YY 分别代表4位、3位、2位的数字年

YEAR 年的拼写

MM 数字月

MONTH 月的全拼

MON 月的缩写

DD 数字日

DAY 星期的全拼

DY 星期的缩写

AM 表示上午或者下午

HH24、HH12 12小时制或24小时制

MI 分钟

SS 秒钟

SP 数字的拼写

TH 数字的序数词

“特殊字符” 假如特殊字符

HH24:MI:SS AM 15:43:20 PM

DD “OF” MONTH 12 OF OCTOBER

DDSPTH fourteenth

Date的格式 ’18-5月-84’
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐