<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開發(fā)時, 在頁面中格式化和解析日期始終是個頭疼的事情. 可以用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參數(shù): 

    <c:out value="param.參數(shù)名"/> 

    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 閱讀(2468) 評論(0)  編輯  收藏 所屬分類: javascript
    主站蜘蛛池模板: 亚洲二区在线视频| 18禁亚洲深夜福利人口| 成人免费午夜视频| 美女被吸屁股免费网站| 亚洲av无码一区二区三区乱子伦| 亚洲综合无码一区二区三区| 久久99青青精品免费观看| 亚洲精品tv久久久久久久久 | 亚洲综合色丁香婷婷六月图片| 日日AV拍夜夜添久久免费| 一个人免费视频在线观看www| 91亚洲国产成人久久精品网址| 亚洲国产精品日韩专区AV| 99久久免费精品高清特色大片| 国产亚洲人成无码网在线观看| 国产成人免费高清激情视频| 成年免费a级毛片免费看无码| 国产色在线|亚洲| 久久亚洲综合色一区二区三区| 免费网站看v片在线香蕉| 你懂的免费在线观看网站| 国产成人人综合亚洲欧美丁香花| 久久久久亚洲AV片无码下载蜜桃| 免费观看亚洲人成网站| 国产91色综合久久免费| 成在线人免费无码高潮喷水| 亚洲国产精品精华液| 亚洲黄色网站视频| 亚洲欧洲无码AV电影在线观看 | 99久久久精品免费观看国产| 色www永久免费| 精品在线视频免费| 亚洲日日做天天做日日谢| 亚洲人成网站影音先锋播放| 激情97综合亚洲色婷婷五| 国产成人免费永久播放视频平台| 亚洲天堂免费在线| 无码国产精品一区二区免费16| 国产精品高清免费网站| 美女被艹免费视频| 亚洲精品国产suv一区88|