电竞比分网-中国电竞赛事及体育赛事平台

分享

Javascript 解析,格式化日期

 hongshaorou 2007-04-28
js 代碼
  1. /*  
  2.   將String類型解析為Date類型.  
  3.   parseDate(‘2006-1-1‘) return new Date(2006,0,1)  
  4.   parseDate(‘ 2006-1-1 ‘) return new Date(2006,0,1)  
  5.   parseDate(‘2006-1-1 15:14:16‘) return new Date(2006,0,1,15,14,16)  
  6.   parseDate(‘ 2006-1-1 15:14:16 ‘) return new Date(2006,0,1,15,14,16);  
  7.   parseDate(‘2006-1-1 15:14:16.254‘) return new Date(2006,0,1,15,14,16,254)  
  8.   parseDate(‘ 2006-1-1 15:14:16.254 ‘) return new Date(2006,0,1,15,14,16,254)  
  9.   parseDate(‘不正確的格式‘) retrun null  
  10. */  
  11. function parseDate(str){   
  12.   if(typeof str == ‘string‘){   
  13.     var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);   
  14.     if(results && results.length>3)   
  15.       return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));    
  16.     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);   
  17.     if(results && results.length>6)   
  18.       return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));    
  19.     results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);   
  20.     if(results && results.length>7)   
  21.       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]));    
  22.   }   
  23.   return null;   
  24. }   
  25.   
  26. /*  
  27.   將Date/String類型,解析為String類型.  
  28.   傳入String類型,則先解析為Date類型  
  29.   不正確的Date,返回 ‘‘  
  30.   如果時間部分為0,則忽略,只返回日期部分.  
  31. */  
  32. function formatDate(v){   
  33.   if(typeof v == ‘string‘) v = parseDate(v);   
  34.   if(v instanceof Date){   
  35.     var y = v.getFullYear();   
  36.     var m = v.getMonth() + 1;   
  37.     var d = v.getDate();   
  38.     var h = v.getHours();   
  39.     var i = v.getMinutes();   
  40.     var s = v.getSeconds();   
  41.     var ms = v.getMilliseconds();      
  42.     if(ms>0) return y + ‘-‘ + m + ‘-‘ + d + ‘ ‘ + h + ‘:‘ + i + ‘:‘ + s + ‘.‘ + ms;   
  43.     if(h>0 || i>0 || s>0) return y + ‘-‘ + m + ‘-‘ + d + ‘ ‘ + h + ‘:‘ + i + ‘:‘ + s;   
  44.     return y + ‘-‘ + m + ‘-‘ + d;   
  45.   }   
  46.   return ‘‘;   
  47. }   

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多