jstl标签中fmt:formatDate 与 fmt:parseDate 的区别

fmt:formatDate是将后台传来的date转换为字符串

属性描述是否必要默认值
value要显示的日期
typeDATE, TIME, 或 BOTHdate
dateStyleFULL, LONG, MEDIUM, SHORT, 或 DEFAULTdefault
timeStyleFULL, LONG, MEDIUM, SHORT, 或 DEFAULTdefault
pattern自定义格式模式
timeZone显示日期的时区默认时区
var存储格式化日期的变量名显示在页面
scope存储格式化日志变量的范围页面

fmt:formatDate 示例:

<c:set var="nowDate" value="<%=new java.util.Date() %>"/>
格式化结果-time: <fmt:formatDate type="time" value="${nowDate }"/>	<br/>			
格式化结果-date: <fmt:formatDate type="date" value="${nowDate }"/>	<br/>
格式化结果-both: <fmt:formatDate type="both" value="${nowDate }"/>	<br/>
格式化结果-pattern: <fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${nowDate }"/>
运行结果
格式化结果-time:16:02:12
格式化结果-date:2019-12-10
格式化结果-both:2019-12-10 16:02:12
格式化结果-pattern:2019-12-10 16:02:12

 

 

 

 

fmt:parseDate是将字符串转换为date

属性描述是否必要默认值
value要显示的日期
typeDATE, TIME, 或 BOTHdate
dateStyleFULL, LONG, MEDIUM, SHORT, 或 DEFAULTdefault
timeStyleFULL, LONG, MEDIUM, SHORT, 或 DEFAULTdefault
pattern自定义格式模式
timeZone显示日期的时区默认时区
var存储格式化日期的变量名显示在页面
scope存储格式化日志变量的范围页面

fmt:parseDate示例:

<c:set var="textDate" value="2019-08-09"/>
<c:set var="textTime" value="12:28:32"/>
<c:set var="textBoth" value="2019-08-09 12:38:32"/>
格式化结果-date:<fmt:parseDate type="date" value="${textDate }"/>	<br/>
格式化结果-time:<fmt:parseDate type="time" value="${textTime }"/>	<br/>
格式化结果-both:<fmt:parseDate type="both" value="${textBoth }"/>	<br/>
运行结果
格式化结果-date:Fri Aug 09 00:00:00 CST 2019
格式化结果-time:Thu Jan 01 12:28:32 CST 1970
格式化结果-both:Fri Aug 09 12:38:32 CST 2019

 

 

 

 

如果用fmt:parseDate解析date格式的话,会报错:

java.text.ParseException: Unparseable date: ""

同样的,如果用fmt:formatDate解析字符串的话,也会报错:

Cannot convert ... of type class java.lang.String to class java.util.Date

 

所以在使用时要注意好要解析的格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值