<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 20,comments - 6,trackbacks - 0
    以前老師的。
    轉來。
    -----------------

    JSP開發時, 在頁面中格式化和解析日期始終是個頭疼的事情. 可以用JSTL和JavaScript搞定.

    1. JSTL格式化和解析日期

    格式化日期:

    <fmt:formatDate value="${model.date}" pattern ="yyyy-MM-dd" > 

    或者 

    <fmt:formatDate value="<%=new java.util.Date() %>" pattern ="yyyy-MM-dd" /> 

    取得request參數: 

    <c:out value="param.參數名"/> 

    jstl格式化日期標簽收藏
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %> 

    <fmt:parseDate value="${param.date}" var="date" pattern="yyyy/MM/dd:HH:mm:ss>
    <fmt:parseDate value="${param.isoDate}" var="isoDate" pattern="yyyyMMdd'T'HHmmss"> 

    The input parameters must match the patterns, or the JSP will thrown an exception. This page does no error handling. 

    Input parameters:
    Date:    
    2004/04/01:13:30:00   Java format: Thu Apr 01 13:30:00 CST 2004
    isoDate: 20040531T235959       Java format: Mon May 
    31 23:59:59 CDT 2004 

    Dates
    Tag Output 
    Attribute: value; required. Tag has no body. 
    <fmt:formatDate value="${date}" type="both"/> 

    2004-4-1 13:30:00  
    <fmt:formatDate value="${isoDate}" type="both"/> 

    2004-5-31 23:59:59  
    Attribute: type; optional. Indicates what to print: date, time, or both. 
    <fmt:formatDate value="${date}" type="date"/> 

    2004-4-1  
    <fmt:formatDate value="${isoDate}" type="time"/> 

    23:59:59  
    Attribute: dateStyle; optional. Varies the date format. 
    <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日 星期一  
    Attribute: timeStyle; optional. Varies the time format. 
    <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  
    Attribute: pattern; optional. Inidcates date
    /time custom patterns. 
    <fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/> 

    星期四, 四月 
    12004 13:30:00 -0600  
    <fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/> 


    2. JavaScript 格式化

    /*
      將String類型解析為Date類型.
      parseDate('2006-1-1') return new Date(2006,0,1)
      parseDate(' 2006-1-1 ') return new Date(2006,0,1)
      parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)
      parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);
      parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)
      parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)
      parseDate('不正確的格式') retrun null
    */

    function parseDate(str){
      
    if(typeof str == 'string'){
        
    var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}*$/);
        
    if(results && results.length>3)
          
    return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3])); 
        results 
    = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}+(\d{1,2}):(\d{1,2}):(\d{1,2}*$/);
        
    if(results && results.length>6)
          
    return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6])); 
        results 
    = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}+(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}*$/);
        
    if(results && results.length>7)
          
    return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7])); 
      }

      
    return null;
    }
     

    /*
      將Date/String類型,解析為String類型.
      傳入String類型,則先解析為Date類型
      不正確的Date,返回 ''
      如果時間部分為0,則忽略,只返回日期部分.
    */

    function formatDate(v){
      
    if(typeof v == 'string') v = parseDate(v);
      
    if(v instanceof Date){
        
    var y = v.getFullYear();
        
    var m = v.getMonth() + 1;
        
    var d = v.getDate();
        
    var h = v.getHours();
        
    var i = v.getMinutes();
        
    var s = v.getSeconds();
        
    var ms = v.getMilliseconds();   
        
    if(ms>0return y + '-+ m + '-+ d + ' ' + h + ':' + i + ':' + s + '.' + ms;
        
    if(h>0 || i>0 || s>0return y + '-+ m + '-+ d + ' ' + h + ':' + i + ':' + s;
        
    return y + '-+ m + '-+ d;
      }

      
    return '';
    }
    posted on 2009-03-27 09:29 Johnhe 閱讀(2463) 評論(0)  編輯  收藏 所屬分類: javascript
    主站蜘蛛池模板: 亚洲乱人伦中文字幕无码| 亚洲入口无毒网址你懂的| 另类小说亚洲色图| 日韩一区二区三区免费体验| 亚洲日韩精品国产3区| 天天摸天天操免费播放小视频 | 免费爱爱的视频太爽了| 亚洲AV无码专区在线亚| 毛片免费在线视频| 337P日本欧洲亚洲大胆精品| 夜色阁亚洲一区二区三区| 成年免费a级毛片| 亚洲高清专区日韩精品| 午夜影院免费观看| 亚洲1234区乱码| 在线观看免费大黄网站| 美女视频黄视大全视频免费的| 国产亚洲精品高清在线| 日韩免费电影网站| 亚洲卡一卡二卡乱码新区| 又大又硬又爽免费视频| 国产中文字幕在线免费观看| 久久亚洲精品成人AV| 日韩视频免费在线| 亚洲精品黄色视频在线观看免费资源 | 亚洲精品国产精品| 亚洲人成人网站在线观看| 嫩草在线视频www免费看| 亚洲另类小说图片| 免费国产在线观看老王影院| a级在线免费观看| 亚洲国产成人精品无码区在线秒播 | 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产成人免费AV在线播放| 亚洲欧洲中文日产| 免费无遮挡无码永久在线观看视频| 国产视频精品免费视频| 亚洲另类春色国产精品| 久久亚洲av无码精品浪潮| 野花高清在线电影观看免费视频| 免费的黄网站男人的天堂|