欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
綜合整理之后的PowerDate .方便處理常日公歷日期操作
樓主zhaoxiaoyang(梅雪香@深圳)2005-10-30 22:54:15 在 Web 開(kāi)發(fā) / JavaScript 提問(wèn)

綜合整理之后的PowerDate   .方便處理常日公歷日期操作.  
   
  <script   language="JavaScript">  
  <!--  
  function   PowerDate(){  
  /*   名稱(chēng):   PowerDate    
    *   版本:   v   Beta   1.0  
    *   作者:   梅雪香(meixx)  
    *   說(shuō)明:   PowerDate   基本實(shí)現了較常見(jiàn)的對于日期的操作,但不包括農歷.  
    *   注意:   您可以隨意復制此程序,請保留該說(shuō)明.您可以隨意更改此程序,如發(fā)現有BUG或者有改進(jìn)請  
    *               mail給我一份,我的E-mail:wy_hd@163.com   或者在CSDN給我留言,我的ID是:zhaoxiaoyang  
    */    
  //日期對象  
  this.date=null;  
  //格式化時(shí)是否加零補位標志,默認為不加零false  
  this.isFmtZero=false;  
  this.weekArr=[["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],  
      ["SUN","MON","TUR","WED","THU","FRI","SAT"]];  
  this.monthArr=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];  
  //初始化日期對象  
  switch(arguments.length){  
  case   0:  
  this.date   =   new   Date();  
  break;  
  case   1:    
  //如果為日期類(lèi)型  
  if(typeof(arguments[0])   ==   "object"   &&   (/Date/.test(arguments[0].constructor))){  
  this.date   =   arguments[0];  
  }else{//字符串類(lèi)型或者毫秒數  
  var   reg   =   /^(\d{2,4})\D+(\d{1,2})\D+(\d{1,2})$/;  
  var   str   =   arguments[0].replace(/\s/g,"");  
  str   =   str.replace(reg,"$1/$2/$3");  
  this.date   =   new   Date(str);  
  }  
  break;  
  case   2:   //年月----此時(shí)初始化為年月的1號  
  this.date   =   new   Date(arguments[0],arguments[1]-1,1);  
  break;  
  case   3:   //年月日  
  this.date   =   new   Date(arguments[0],arguments[1]-1,arguments[2]);  
  break;  
  case   6:   //年月日時(shí)分秒  
  this.date   =   new   Date(arguments[0],arguments[1]-1,arguments[2],arguments[3],arguments[4],arguments[5]);  
  break;  
  case   7:   //年月日時(shí)分秒毫秒  
  this.date   =   new  Date(arguments[0],arguments[1]-1,arguments[2],arguments[3],arguments[4],arguments[5],arguments[6]); 
  break;  
  default:   this.date   =   new   Date("1970/1/1");   break;  
  }  
  //初始化失敗處理  
  if(typeof(this.date)   !=   "object"   ||   !(/Date/.test(this.date.constructor)))  
    throw   (new   Error(-1,   ‘構造PowerDate方法失敗,檢查輸入參數!‘));  
   
  this.getDate   =   function   (){  
  return   this.date;  
  }  
  this.getFullYear=function(){  
  return   this.date.getFullYear();  
  };  
  this.getYear=function(){  
  return   this.date.getYear();  
  };  
  this.getMonth=function(){  
  return   this.frmWithZero(this.date.getMonth()+1);  
  };  
  this.getDay=function(){  
  return   this.frmWithZero(this.date.getDate());  
  };  
  this.getHour=function(){  
  return   this.frmWithZero(this.date.getHours());  
  };  
  this.getMinute=function(){  
  return   this.frmWithZero(this.date.getMinutes());  
  };  
  this.getSecond=function(){  
  return   this.frmWithZero(this.date.getSeconds());  
  };  
  this.getMillisecond=function(){  
  var   ss=this.date.getMilliseconds();  
  if(this.isFmtZero==true   &&   ss<10)  
  return   "00"+ss;  
  else   if(this.isFmtZero==true   &&   ss<100)  
  return   "0"+ss;  
  else   return   ss;  
  };  
  this.getWeek=function(){  
  return   this.date.getDay();  
  };  
  this.setIsFmtZero=function(val){  
  this.isFmtZero=val;  
  };  
  this.frmWithZero   =   function(num){  
  if(this.isFmtZero==true   &&   num<10)  
  return   "0"+num;  
  else   return   num;  
  }  
  /*  
    *   功能:根據輸入表達式返回日期字符串  
    *   參數:dateFmt:字符串,由以下結構組成          
      *             yy:長(cháng)寫(xiě)年,YY:短寫(xiě)年mm:數字月,MM:英文月,dd:日,hh:時(shí),  
    *             mi:分,ss秒,ms:毫秒,we:漢字星期,WE:英文星期.  
  */  
  this.getString=function(dateFmt){  
  if(typeof(dateFmt)   !=   "string"   )  
  throw   (new   Error(-1,   ‘getString()方法需要字符串類(lèi)型參數!‘));  
  var   str=dateFmt;  
  str=str.replace(/yy/g,this.getFullYear());  
  str=str.replace(/YY/g,this.getYear());  
  str=str.replace(/mm/g,this.getMonth());  
  str=str.replace(/MM/g,this.monthArr[this.getMonth()-1]);  
  str=str.replace(/dd/g,this.getDay());  
  str=str.replace(/hh/g,this.getHour());  
  str=str.replace(/mi/g,this.getMinute());  
  str=str.replace(/ss/g,this.getSecond());  
  str=str.replace(/ms/g,this.getMillisecond());  
  str=str.replace(/we/g,this.weekArr[0][this.getWeek()]);  
  str=str.replace(/WE/g,this.weekArr[1][this.getWeek()]);  
  return   str;  
  };  
   
  /*   功能   :   返回與某日期相距N天(N個(gè)24小時(shí))的日期  
    *   參數   :   num   number類(lèi)型   可以為正負整數或者浮點(diǎn)數,默認為1;  
    *                 type   0(秒)   or   1(天),默認為秒  
    *   返回   :   新的PowerDate類(lèi)型  
    */  
  this.dateAfter=function(num,type){  
  num   =   (num   ==   null?1:num);  
  if(typeof(num)!="number")   throw   new   Error(-1,"dateAfterDays(num)參數為數值類(lèi)型.");  
  var   iType   =   (type==null?0:type);  
  var   arr   =   [1000,86400000];  
  var   dd   =   this.date.valueOf();  
  dd   +=   num*arr[type];  
  this.date=new   Date(dd);  
  return   this;  
  };  
  //判斷是否是閏年,返回true   或者   false  
  this.isLeapYear   =   function   (){  
  var   year   =   this.getFullYear();  
  return   (0==year%4   &&   ((year   %   100   !=   0)||(year   %   400   ==   0)));  
  };  
   
  //返回該月天數  
  this.getDaysOfMonth   =   function   (){  
  return   (new   Date(this.getFullYear(),this.getMonth(),0)).getDate();  
  };  
   
  //轉換成大寫(xiě)日期(中文)  
  this.getChinaDate   =     function(){  
  var   year   =   this.getFullYear();  
  var   month=   this.getMonth();  
  var   day   =   this.getDay();  
  var   arrNum   =   ["零","一","二","三","四","五","六","七","八","九","十","十一","十二"];  
  var   strTmp="";  
  for(var   i=0,j=year.length;i<j;i++){  
  strTmp   +=   arrNum[year.charAt(i)];  
  }  
  strTmp   +=   "年";  
  strTmp   +=   arrNum[month]+"月";  
  if(day<10)  
  strTmp   +=   arrNum[day];  
  else   if   (day   <20)  
  strTmp   +=   "十"+arrNum[day-10];  
  else   if   (day   <30   )  
  strTmp   +=   "二十"+arrNum[day-20];  
  else    
  strTmp   +=   "三十"+arrNum[day-30];  
  strTmp   +=   "日";  
  return   strTmp;  
  };  
   
  //日期比較函數,參數為pd類(lèi)型如this日期晚于參數:1,相等:0   早于:   -1  
  this.dateCompare   =   function(pd){  
  if(typeof(pd)   !=   "object"   ||   pd.toString()   !=   "PowerDate")  
    throw   new   Error(-1,"dateCompare(pd)的pd參數為PowerDate類(lèi)型.");  
  var   d   =   this.date.getTime()   -   pd.getDate().getTime();  
  return   d>0?1:(d==0?0:-1);  
  }  
  /*功能:返回兩日期之差  
    *參數:pd       PowerDate對象  
    *         type:   返回類(lèi)別標識.yy:年,mm:月,ww:周,dd:日,hh:小時(shí),mi:分,ss:秒,ms:毫秒  
    *         intOrFloat   :返回整型還是浮點(diǎn)型值   0:整型,不等于0:浮點(diǎn)型  
      *         output   :   輸出提示,如:時(shí)間差為#周!  
    */  
  this.calDateDistance   =   function   (pd,type,intOrFloat,output){  
  if(typeof(pd)   !=   "object"   ||   pd.toString()   !=   "PowerDate")  
    throw   new   Error(-1,"calDateDistance(pd,type,intOrFloat)的pd參數為PowerDate類(lèi)型.");  
  if(!((new   RegExp(type+",","g")).test("yy,mm,ww,dd,hh,mi,ss,ms,")))  
    throw   new   Error(-1,"calDateDistance(pd,type,intOrFloat,output)的type參數為非法.");  
  var   iof   =   (intOrFloat==null?0:intOrFloat);  
  var   miSecMain   =   this.date.valueOf();  
  var   miSecSub     =   pd.getDate().valueOf();  
  var   num=0;  
  switch(type){  
  case   "yy":   num   =   this.getFullYear()   -   pd.getFullYear();   break;  
  case   "mm":   num   =   (this.getFullYear()   -   pd.getFullYear())*12+this.getMonth()-pd.getMonth();   break;  
  case   "ww":   num   =   this.fmtRtnVal((miSecMain-miSecSub)/7/86400000,iof);   break;  
  case   "dd":   num   =   this.fmtRtnVal((miSecMain-miSecSub)/86400000,iof);   break;  
  case   "hh":   num   =   this.fmtRtnVal((miSecMain-miSecSub)/3600000,iof);   break;  
  case   "mi":   num   =   this.fmtRtnVal((miSecMain-miSecSub)/60000,iof);   break;  
  case   "ss":   num   =   this.fmtRtnVal((miSecMain-miSecSub)/1000,iof);   break;  
  case   "ms":   num   =   (miSecMain-miSecSub);break;  
  default:     break;  
  }  
  if(output)  
  return   output.replace(/#/g,num);  
  else   return   num;  
  };  
  //返回整數或者兩位小數的浮點(diǎn)數  
  this.fmtRtnVal   =   function   (val,intOrFloat){  
  //alert(val);  
  return   (intOrFloat   ==   0   ?   Math.floor(val)   :   parseInt(val*100)/100);  
  };  
  //重載toString   方法,用來(lái)判斷是否為PowerDate對象  
  this.toString=function(){   return   "PowerDate"};  
   
  }  
   
  var   d=   new   PowerDate(new   Date());//實(shí)例化一個(gè)PowerDate對象  
  d.setIsFmtZero(true);//設置為用0補位輸出  
  //alert(d.getString("yy-mm-dd   hh:mi:ss.ms"));  
  //alert(d.getString("ms.ss:mi:hh   dd-mm-yy"));  
  alert(d.calDateDistance(new     PowerDate("2005/5/31"),"dd"));//輸出日期字符串  
   
  //-->  
  </script>  
 問(wèn)題點(diǎn)數:20、回復次數:17Top

1 樓zhaoxiaoyang(梅雪香@深圳)回復于 2005-10-31 10:16:27 得分 0

這年頭做好人也要有實(shí)力才行啊!Top

2 樓friendlyFour(web開(kāi)發(fā)四人組)回復于 2005-11-01 09:00:01 得分 0

這年頭做好人也要有實(shí)力才行啊!  
  呵呵Top

3 樓windspeed(▁▂▄▅▆▇)回復于 2005-11-01 18:06:34 得分 0

收藏一下,摟主JJ幫助過(guò)偶的,一生難忘啊Top

4 樓zhaoxiaoyang(梅雪香@深圳)回復于 2005-11-01 18:55:20 得分 0

not   JJ   but   GG!Top

5 樓zhaoxiaoyang(梅雪香@深圳)回復于 2005-11-02 00:24:38 得分 0

重寫(xiě)了,少了不少代碼  
   
  <script   language="JavaScript">  
  <!--  
  /*用相對不規則的字符串來(lái)創(chuàng )建日期對象,不規則的含義為:順序包含年月日三個(gè)數值串,有間隔*/  
  String.prototype.createDate   =   function(){  
  var   reg   =   /^\D*(\d{2,4})\D+(\d{1,2})\D+(\d{1,2})\D*$/;  
  var   str   =   this.replace(/\s/g,"");  
  str   =   str.replace(reg,"$1/$2/$3");  
  var   date   =   new   Date(str);  
  if(isNaN(date)) return   new   Date();  
  else   return   date;  
  }  
   
  /*  
      *   功能:根據輸入表達式返回日期字符串  
    *   參數:dateFmt:字符串,由以下結構組成          
    *             yy:長(cháng)寫(xiě)年,YY:短寫(xiě)年mm:數字月,MM:英文月,dd:日,hh:時(shí),  
    *             mi:分,ss秒,ms:毫秒,we:漢字星期,WE:英文星期.  
    *             isFmtWithZero   :   是否用0進(jìn)行格式化,true   or   false  
  */  
  Date.prototype.parseString   =   function(dateFmt,isFmtWithZero){  
  dateFmt   =   (dateFmt   ==   null?"yy-mm-dd"   :   dateFmt);  
  isFmtWithZero   =   (isFmtWithZero   ==   null?true   :   isFmtWithZero);  
  if(typeof(dateFmt)   !=   "string"   )  
  throw   (new   Error(-1,   ‘parseString()方法需要字符串類(lèi)型參數!‘));  
  var   weekArr=[["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],  
      ["SUN","MON","TUR","WED","THU","FRI","SAT"]];  
  var   monthArr=["JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"];  
  var   str=dateFmt;  
  str   =   str.replace(/yy/g,this.getFullYear());  
  str   =   str.replace(/YY/g,this.getYear());  
  str   =   str.replace(/mm/g,(this.getMonth()+1).toString().fmtWithZero(isFmtWithZero));  
  str   =   str.replace(/MM/g,monthArr[this.getMonth()]);  
  str   =   str.replace(/dd/g,this.getDate().toString().fmtWithZero(isFmtWithZero));  
  str   =   str.replace(/hh/g,this.getHours().toString().fmtWithZero(isFmtWithZero));  
  str   =   str.replace(/mi/g,this.getMinutes().toString().fmtWithZero(isFmtWithZero));  
  str   =   str.replace(/ss/g,this.getSeconds().toString().fmtWithZero(isFmtWithZero));  
  str   =   str.replace(/ms/g,this.getMilliseconds().toString().fmtWithZeroD(isFmtWithZero));  
  str   =   str.replace(/we/g,weekArr[0][this.getDay()]);  
  str   =   str.replace(/WE/g,weekArr[1][this.getDay()]);  
  return   str;  
  }  
  /*將一位數字格式化成兩位,如:   9   to   09*/  
  String.prototype.fmtWithZero   =   function(isFmtWithZero){  
  if(isFmtWithZero)  
  return   (this<10?"0"+this:this);  
  else   return   this;  
  }  
  String.prototype.fmtWithZeroD   =   function(isFmtWithZero){  
  if(isFmtWithZero)  
  return   (this<10?"00"+this:(this<100?"0"+this:this));  
  else   return   this;  
  }  
   
  /*   功能   :   返回與某日期相距N天(N個(gè)24小時(shí))的日期  
    *   參數   :   num   number類(lèi)型   可以為正負整數或者浮點(diǎn)數,默認為1;  
    *                 type   0(秒)   or   1(天),默認為秒  
    *   返回   :   新的PowerDate類(lèi)型  
    */  
  Date.prototype.dateAfter=function(num,type){  
  num   =   (num   ==   null?1:num);  
  if(typeof(num)!="number")   throw   new   Error(-1,"dateAfterDays(num,type)的num參數為數值類(lèi)型.");  
  type   =   (type==null?0:type);  
  var   arr   =   [1000,86400000];  
  var   dd   =   this.valueOf();  
  dd   +=   num*arr[type];  
  return   new   Date(dd);  
  }  
   
  //判斷是否是閏年,返回true   或者   false  
  Date.prototype.isLeapYear   =   function   (){  
  var   year   =   this.getFullYear();  
  return   (0==year%4   &&   ((year   %   100   !=   0)||(year   %   400   ==   0)));  
  }  
   
  //返回該月天數  
  Date.prototype.getDaysOfMonth   =   function   (){  
  return   (new   Date(this.getFullYear(),this.getMonth()+1,0)).getDate();  
  }  
   
  //轉換成大寫(xiě)日期(中文)  
  Date.prototype.getChinaDate   =     function(){  
  var   year   =   this.getFullYear().toString();  
  var   month=   this.getMonth()+1;  
  var   day   =   this.getDate();  
  var   arrNum   =   ["零","一","二","三","四","五","六","七","八","九","十","十一","十二"];  
  var   strTmp="";  
  for(var   i=0,j=year.length;i<j;i++){  
  strTmp   +=   arrNum[year.charAt(i)];  
  }  
  strTmp   +=   "年";  
  strTmp   +=   arrNum[month]+"月";  
  if(day<10)  
  strTmp   +=   arrNum[day];  
  else   if   (day   <20)  
  strTmp   +=   "十"+arrNum[day-10];  
  else   if   (day   <30   )  
  strTmp   +=   "二十"+arrNum[day-20];  
  else    
  strTmp   +=   "三十"+arrNum[day-30];  
  strTmp   +=   "日";  
  return   strTmp;  
  }  
  //日期比較函數,參數date:為Date類(lèi)型,如this日期晚于參數:1,相等:0   早于:   -1  
  Date.prototype.dateCompare   =   function(date){  
  if(typeof(date)   !=   "object"   ||   !(/Date/.test(date.constructor)))  
    throw   new   Error(-1,"dateCompare(date)的date參數為Date類(lèi)型.");  
  var   d   =   this.getTime()   -   date.getTime();  
  return   d>0?1:(d==0?0:-1);  
  }  
   
  /*功能:返回兩日期之差  
    *參數:pd       PowerDate對象  
    *         type:   返回類(lèi)別標識.yy:年,mm:月,ww:周,dd:日,hh:小時(shí),mi:分,ss:秒,ms:毫秒  
    *         intOrFloat   :返回整型還是浮點(diǎn)型值   0:整型,不等于0:浮點(diǎn)型  
    *         output   :   輸出提示,如:時(shí)間差為#周!  
    */  
  Date.prototype.calDateDistance   =   function   (date,type,intOrFloat,output){  
  if(typeof(date)   !=   "object"   ||   !(/Date/.test(date.constructor)))  
    throw   new   Error(-1,"calDateDistance(date,type,intOrFloat)的date參數為Date類(lèi)型.");  
  type   =   (type==null?‘dd‘:type);  
  if(!((new   RegExp(type+",","g")).test("yy,mm,ww,dd,hh,mi,ss,ms,")))  
    throw   new   Error(-1,"calDateDistance(pd,type,intOrFloat,output)的type參數為非法.");  
  var   iof   =   (intOrFloat==null?0:intOrFloat);  
  var   miSecMain   =   this.valueOf();  
  var   miSecSub     =   date.valueOf();  
  var   num=0;  
  switch(type){  
  case   "yy":   num   =   this.getFullYear()   -   pd.getFullYear();   break;  
  case   "mm":   num   =   (this.getFullYear()   -   pd.getFullYear())*12+this.getMonth()-pd.getMonth();   break;  
  case   "ww":   num   =   ((miSecMain-miSecSub)/7/86400000).fmtRtnVal(iof);   break;  
  case   "dd":   num   =   ((miSecMain-miSecSub)/86400000).fmtRtnVal(iof);   break;  
  case   "hh":   num   =   ((miSecMain-miSecSub)/3600000).fmtRtnVal(iof);   break;  
  case   "mi":   num   =   ((miSecMain-miSecSub)/60000).fmtRtnVal(iof);   break;  
  case   "ss":   num   =   ((miSecMain-miSecSub)/1000).fmtRtnVal(iof);   break;  
  case   "ms":   num   =   (miSecMain-miSecSub);break;  
  default:     break;  
  }  
  if(output)  
  return   output.replace(/#/g,num);  
  else   return   num;  
  }  
  //返回整數或者兩位小數的浮點(diǎn)數  
  Number.prototype.fmtRtnVal   =   function   (intOrFloat){  
  return   (intOrFloat   ==   0   ?   Math.floor(this)   :   parseInt(this*100)/100);  
  }  
  //-->  
  </script>  
   
  <script   language="JavaScript">  
  <!--  
  var   date   =   "2004-05-25".createDate();  
  alert(date.parseString("yy-YY-mm-MM-dd   hh:mi:ss.ms     WE     we",true));  
  alert(date.calDateDistance(new   Date(),"dd",1,"相差#天!"));  
   
  //-->  
  </script>   

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
js
和我一起寫(xiě)lua - C和lua的參數傳遞與返回值
JavaScript:數據類(lèi)型
JavaScript 有用的代碼片段和 trick
C#實(shí)現Excel操作——添加頁(yè)簽Sheet
js測試方法(格式化金額,包含中文的字符串截取)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久