- /*
- 将String类型解析为Date类型.
- parseDate('2006-1-1')returnnewDate(2006,0,1)
- parseDate('2006-1-1')returnnewDate(2006,0,1)
- parseDate('2006-1-115:14:16')returnnewDate(2006,0,1,15,14,16)
- parseDate('2006-1-115:14:16')returnnewDate(2006,0,1,15,14,16);
- parseDate('2006-1-115:14:16.254')returnnewDate(2006,0,1,15,14,16,254)
- parseDate('2006-1-115:14:16.254')returnnewDate(2006,0,1,15,14,16,254)
- parseDate('不正确的格式')retrunnull
- */
- functionparseDate(str){
- if(typeofstr=='string'){
- varresults=str.match(/^*(/d{4})-(/d{1,2})-(/d{1,2})*$/);
- if(results&&results.length>3)
- returnnewDate(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)
- returnnewDate(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)
- returnnewDate(parseInt(results[1]),parseInt(results[2])-1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));
- }
- returnnull;
- }
- /*
- 将Date/String类型,解析为String类型.
- 传入String类型,则先解析为Date类型
- 不正确的Date,返回''
- 如果时间部分为0,则忽略,只返回日期部分.
- */
- functionformatDate(v){
- if(typeofv=='string')v=parseDate(v);
- if(vinstanceofDate){
- vary=v.getFullYear();
- varm=v.getMonth()+1;
- vard=v.getDate();
- varh=v.getHours();
- vari=v.getMinutes();
- vars=v.getSeconds();
- varms=v.getMilliseconds();
- if(ms>0)returny+'-'+m+'-'+d+''+h+':'+i+':'+s+'.'+ms;
- if(h>0||i>0||s>0)returny+'-'+m+'-'+d+''+h+':'+i+':'+s;
- returny+'-'+m+'-'+d;
- }
- return'';
- }
JS解析,格式化日期
最新推荐文章于 2023-04-17 10:56:59 发布