代码 <c:if test="${syfwz.marryDate.seconds == 6  } var=marryDate"><s:date name="syfwz例如:获取的是2012-07 就显示2012-07;
      如果获取的是2012-07-31 就显示 2012-07-31代码应该如何写。

解决方案 »

  1.   

    使用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乘,并显示百分号
    其他任何符号    在输出字符串中包括指定符号
      

  2.   

    你这个问题等同于int i = Scanner.nextInt();//如果i是1  下面就打印1  如果i是11下面就打印11   System.out.println(i);
      

  3.   

    那就自己判断,用<c:if>,<c:else>表示或者三目运算表示
    话说,你这个2012-07,2012-07-31是怎么来的,是marryDate.xx属性?什么类型的?
      

  4.   

    是日期类型,2012-07怎么会不带日信息?
    如果是日期类型,肯定带有完整的年月日信息的,即使缺了某部分也会有个default值,也就是说你的2012-07可能是2012-07-01,所以没法判断的?