请问如何控制获取的日期格式

linfangming2008 2012-07-31 10:02:12
代码 <c:if test="${syfwz.marryDate.seconds == 6 } var=marryDate"><s:date name="syfwz

例如:获取的是2012-07 就显示2012-07;
如果获取的是2012-07-31 就显示 2012-07-31

代码应该如何写。
...全文
223 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
VanBaston 2012-07-31
  • 打赏
  • 举报
回复
看情况我觉得楼主的日期应该是以字符串存储的!这样我觉得楼主就不用想啥了,取出来是啥就显示啥就可以了啊
linfangming2008 2012-07-31
  • 打赏
  • 举报
回复
因为这个日期是从别的系统过来的,另个系统里的这个日期存在着这两个格式
qybao 2012-07-31
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
2012-07,2012-07-31 是通过接口获取过来的。是日期类型
[/Quote]
是日期类型,2012-07怎么会不带日信息?
如果是日期类型,肯定带有完整的年月日信息的,即使缺了某部分也会有个default值,也就是说你的2012-07可能是2012-07-01,所以没法判断的?
l506064634 2012-07-31
  • 打赏
  • 举报
回复
很好啊!!!!!!!!!
linfangming2008 2012-07-31
  • 打赏
  • 举报
回复
因为获取过来的日期数据格式有的是2012-07这种格式,有的是2012-07-31这种格式。
linfangming2008 2012-07-31
  • 打赏
  • 举报
回复
2012-07,2012-07-31 是通过接口获取过来的。是日期类型
qybao 2012-07-31
  • 打赏
  • 举报
回复
那就自己判断,用<c:if>,<c:else>表示或者三目运算表示
话说,你这个2012-07,2012-07-31是怎么来的,是marryDate.xx属性?什么类型的?
liu4626846 2012-07-31
  • 打赏
  • 举报
回复
你这个问题等同于

int i = Scanner.nextInt();

//如果i是1 下面就打印1 如果i是11下面就打印11

System.out.println(i);


老9 2012-07-31
  • 打赏
  • 举报
回复
使用el表达式中的fmt
日期表示
<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


百分数,千分数表示
<fmt:formatNumber value="${DoubleVALUE}" type="number" pattern="0.00‰"/> 0.01 ‰
<fmt:formatNumber value="${DoubleVALUE}" type="number" pattern="0.00%"/> 0.20 %

其他数字表示
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="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)。

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

货币表示
1
<fmt:setLocale value="ch_CH"/>
<fmt:formatNumber value="${data}" type="currency"/>
2
<fmt:formatNumber value="${doubleValue}" type="number" pattern="¥0.00"/>

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

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧