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

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

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

    posts - 4,comments - 30,trackbacks - 0
    Date.prototype.isLeapYear?判斷閏年
    Date.prototype.Format?日期格式化
    Date.prototype.DateAdd?日期計算
    Date.prototype.DateDiff?比較日期差
    Date.prototype.toString?日期轉字符串
    Date.prototype.toArray?日期分割為數組
    Date.prototype.DatePart?取日期的部分信息
    Date.prototype.MaxDayOfDate?取日期所在月的最大天數
    Date.prototype.WeekNumOfYear?判斷日期所在年的第幾周
    StringToDate?字符串轉日期型
    IsValidDate?驗證日期有效性
    CheckDateTime?完整日期時間檢查
    daysBetween?日期天數差

    js 代碼
    ?
    1. //---------------------------------------------------??
    2. //?判斷閏年??
    3. //---------------------------------------------------??
    4. Date.prototype.isLeapYear?=?function()???
    5. {???
    6. ????return?(0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));???
    7. }???
    8. ??
    9. //---------------------------------------------------??
    10. //?日期格式化??
    11. //?格式?YYYY/yyyy/YY/yy?表示年份??
    12. //?MM/M?月份??
    13. //?W/w?星期??
    14. //?dd/DD/d/D?日期??
    15. //?hh/HH/h/H?時間??
    16. //?mm/m?分鐘??
    17. //?ss/SS/s/S?秒??
    18. //---------------------------------------------------??
    19. Date.prototype.Format?=?function(formatStr)???
    20. {???
    21. ????var?str?=?formatStr;???
    22. ????var?Week?=?['日','一','二','三','四','五','六'];??
    23. ??
    24. ????str=str.replace(/yyyy|YYYY/,this.getFullYear());???
    25. ????str=str.replace(/yy|YY/,(this.getYear()?%?100)>9?(this.getYear()?%?100).toString():'0'?+?(this.getYear()?%?100));???
    26. ??
    27. ????str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0'?+?this.getMonth());???
    28. ????str=str.replace(/M/g,this.getMonth());???
    29. ??
    30. ????str=str.replace(/w|W/g,Week[this.getDay()]);???
    31. ??
    32. ????str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0'?+?this.getDate());???
    33. ????str=str.replace(/d|D/g,this.getDate());???
    34. ??
    35. ????str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0'?+?this.getHours());???
    36. ????str=str.replace(/h|H/g,this.getHours());???
    37. ????str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0'?+?this.getMinutes());???
    38. ????str=str.replace(/m/g,this.getMinutes());???
    39. ??
    40. ????str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0'?+?this.getSeconds());???
    41. ????str=str.replace(/s|S/g,this.getSeconds());???
    42. ??
    43. ????return?str;???
    44. }???
    45. ??
    46. //+---------------------------------------------------??
    47. //|?求兩個時間的天數差?日期格式為?YYYY-MM-dd???
    48. //+---------------------------------------------------??
    49. function?daysBetween(DateOne,DateTwo)??
    50. {???
    51. ????var?OneMonth?=?DateOne.substring(5,DateOne.lastIndexOf?('-'));??
    52. ????var?OneDay?=?DateOne.substring(DateOne.length,DateOne.lastIndexOf?('-')+1);??
    53. ????var?OneYear?=?DateOne.substring(0,DateOne.indexOf?('-'));??
    54. ??
    55. ????var?TwoMonth?=?DateTwo.substring(5,DateTwo.lastIndexOf?('-'));??
    56. ????var?TwoDay?=?DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf?('-')+1);??
    57. ????var?TwoYear?=?DateTwo.substring(0,DateTwo.indexOf?('-'));??
    58. ??
    59. ????var?cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)-?Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);???
    60. ????return?Math.abs(cha);??
    61. }??
    62. ??
    63. ??
    64. //+---------------------------------------------------??
    65. //|?日期計算??
    66. //+---------------------------------------------------??
    67. Date.prototype.DateAdd?=?function(strInterval,?Number)?{???
    68. ????var?dtTmp?=?this;??
    69. ????switch?(strInterval)?{???
    70. ????????case?'s'?:return?new?Date(Date.parse(dtTmp)?+?(1000?*?Number));??
    71. ????????case?'n'?:return?new?Date(Date.parse(dtTmp)?+?(60000?*?Number));??
    72. ????????case?'h'?:return?new?Date(Date.parse(dtTmp)?+?(3600000?*?Number));??
    73. ????????case?'d'?:return?new?Date(Date.parse(dtTmp)?+?(86400000?*?Number));??
    74. ????????case?'w'?:return?new?Date(Date.parse(dtTmp)?+?((86400000?*?7)?*?Number));??
    75. ????????case?'q'?:return?new?Date(dtTmp.getFullYear(),?(dtTmp.getMonth())?+?Number*3,?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
    76. ????????case?'m'?:return?new?Date(dtTmp.getFullYear(),?(dtTmp.getMonth())?+?Number,?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
    77. ????????case?'y'?:return?new?Date((dtTmp.getFullYear()?+?Number),?dtTmp.getMonth(),?dtTmp.getDate(),?dtTmp.getHours(),?dtTmp.getMinutes(),?dtTmp.getSeconds());??
    78. ????}??
    79. }??
    80. ??
    81. //+---------------------------------------------------??
    82. //|?比較日期差?dtEnd?格式為日期型或者?有效日期格式字符串??
    83. //+---------------------------------------------------??
    84. Date.prototype.DateDiff?=?function(strInterval,?dtEnd)?{???
    85. ????var?dtStart?=?this;??
    86. ????if?(typeof?dtEnd?==?'string'?)//如果是字符串轉換為日期型??
    87. ????{???
    88. ????????dtEnd?=?StringToDate(dtEnd);??
    89. ????}??
    90. ????switch?(strInterval)?{???
    91. ????????case?'s'?:return?parseInt((dtEnd?-?dtStart)?/?1000);??
    92. ????????case?'n'?:return?parseInt((dtEnd?-?dtStart)?/?60000);??
    93. ????????case?'h'?:return?parseInt((dtEnd?-?dtStart)?/?3600000);??
    94. ????????case?'d'?:return?parseInt((dtEnd?-?dtStart)?/?86400000);??
    95. ????????case?'w'?:return?parseInt((dtEnd?-?dtStart)?/?(86400000?*?7));??
    96. ????????case?'m'?:return?(dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12)?-?(dtStart.getMonth()+1);??
    97. ????????case?'y'?:return?dtEnd.getFullYear()?-?dtStart.getFullYear();??
    98. ????}??
    99. }??
    100. ??
    101. //+---------------------------------------------------??
    102. //|?日期輸出字符串,重載了系統的toString方法??
    103. //+---------------------------------------------------??
    104. Date.prototype.toString?=?function(showWeek)??
    105. {???
    106. ????var?myDate=?this;??
    107. ????var?str?=?myDate.toLocaleDateString();??
    108. ????if?(showWeek)??
    109. ????{???
    110. ????????var?Week?=?['日','一','二','三','四','五','六'];??
    111. ????????str?+=?'?星期'?+?Week[myDate.getDay()];??
    112. ????}??
    113. ????return?str;??
    114. }??
    115. ??
    116. //+---------------------------------------------------??
    117. //|?日期合法性驗證??
    118. //|?格式為:YYYY-MM-DD或YYYY/MM/DD??
    119. //+---------------------------------------------------??
    120. function?IsValidDate(DateStr)???
    121. {???
    122. ????var?sDate=DateStr.replace(/(^\s+|\s+$)/g,'');?//去兩邊空格;???
    123. ????if(sDate=='')?return?true;???
    124. ????//如果格式滿足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替換為''???
    125. ????//數據庫中,合法日期可以是:YYYY-MM/DD(2003-3/21),數據庫會自動轉換為YYYY-MM-DD格式???
    126. ????var?s?=?sDate.replace(/[\d]{?4,4?}[\-/]{?1?}[\d]{?1,2?}[\-/]{?1?}[\d]{?1,2?}/g,'');???
    127. ????if?(s=='')?//說明格式滿足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D???
    128. ????{???
    129. ????????var?t=new?Date(sDate.replace(/\-/g,'/'));???
    130. ????????var?ar?=?sDate.split(/[-/:]/);???
    131. ????????if(ar[0]?!=?t.getYear()?||?ar[1]?!=?t.getMonth()+1?||?ar[2]?!=?t.getDate())???
    132. ????????{???
    133. ????????????//alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');???
    134. ????????????return?false;???
    135. ????????}???
    136. ????}???
    137. ????else???
    138. ????{???
    139. ????????//alert('錯誤的日期格式!格式為:YYYY-MM-DD或YYYY/MM/DD。注意閏年。');???
    140. ????????return?false;???
    141. ????}???
    142. ????return?true;???
    143. }???
    144. ??
    145. //+---------------------------------------------------??
    146. //|?日期時間檢查??
    147. //|?格式為:YYYY-MM-DD?HH:MM:SS??
    148. //+---------------------------------------------------??
    149. function?CheckDateTime(str)??
    150. {???
    151. ????var?reg?=?/^(\d+)-(\d{?1,2?})-(\d{?1,2?})?(\d{?1,2?}):(\d{?1,2?}):(\d{?1,2?})$/;???
    152. ????var?r?=?str.match(reg);???
    153. ????if(r==null)return?false;???
    154. ????r[2]=r[2]-1;???
    155. ????var?d=?new?Date(r[1],r[2],r[3],r[4],r[5],r[6]);???
    156. ????if(d.getFullYear()!=r[1])return?false;???
    157. ????if(d.getMonth()!=r[2])return?false;???
    158. ????if(d.getDate()!=r[3])return?false;???
    159. ????if(d.getHours()!=r[4])return?false;???
    160. ????if(d.getMinutes()!=r[5])return?false;???
    161. ????if(d.getSeconds()!=r[6])return?false;???
    162. ????return?true;???
    163. }???
    164. ??
    165. //+---------------------------------------------------??
    166. //|?把日期分割成數組??
    167. //+---------------------------------------------------??
    168. Date.prototype.toArray?=?function()??
    169. {???
    170. ????var?myDate?=?this;??
    171. ????var?myArray?=?Array();??
    172. ????myArray[0]?=?myDate.getFullYear();??
    173. ????myArray[1]?=?myDate.getMonth();??
    174. ????myArray[2]?=?myDate.getDate();??
    175. ????myArray[3]?=?myDate.getHours();??
    176. ????myArray[4]?=?myDate.getMinutes();??
    177. ????myArray[5]?=?myDate.getSeconds();??
    178. ????return?myArray;??
    179. }??
    180. ??
    181. //+---------------------------------------------------??
    182. //|?取得日期數據信息??
    183. //|?參數?interval?表示數據類型??
    184. //|?y?年?m月?d日?w星期?ww周?h時?n分?s秒??
    185. //+---------------------------------------------------??
    186. Date.prototype.DatePart?=?function(interval)??
    187. {???
    188. ????var?myDate?=?this;??
    189. ????var?partStr='';??
    190. ????var?Week?=?['日','一','二','三','四','五','六'];??
    191. ????switch?(interval)??
    192. ????{???
    193. ????????case?'y'?:partStr?=?myDate.getFullYear();break;??
    194. ????????case?'m'?:partStr?=?myDate.getMonth()+1;break;??
    195. ????????case?'d'?:partStr?=?myDate.getDate();break;??
    196. ????????case?'w'?:partStr?=?Week[myDate.getDay()];break;??
    197. ????????case?'ww'?:partStr?=?myDate.WeekNumOfYear();break;??
    198. ????????case?'h'?:partStr?=?myDate.getHours();break;??
    199. ????????case?'n'?:partStr?=?myDate.getMinutes();break;??
    200. ????????case?'s'?:partStr?=?myDate.getSeconds();break;??
    201. ????}??
    202. ????return?partStr;??
    203. }??
    204. ??
    205. //+---------------------------------------------------??
    206. //|?取得當前日期所在月的最大天數??
    207. //+---------------------------------------------------??
    208. Date.prototype.MaxDayOfDate?=?function()??
    209. {???
    210. ????var?myDate?=?this;??
    211. ????var?ary?=?myDate.toArray();??
    212. ????var?date1?=?(new?Date(ary[0],ary[1]+1,1));??
    213. ????var?date2?=?date1.dateAdd(1,'m',1);??
    214. ????var?result?=?dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));??
    215. ????return?result;??
    216. }??
    217. ??
    218. //+---------------------------------------------------??
    219. //|?取得當前日期所在周是一年中的第幾周??
    220. //+---------------------------------------------------??
    221. Date.prototype.WeekNumOfYear?=?function()??
    222. {???
    223. ????var?myDate?=?this;??
    224. ????var?ary?=?myDate.toArray();??
    225. ????var?year?=?ary[0];??
    226. ????var?month?=?ary[1]+1;??
    227. ????var?day?=?ary[2];??
    228. ????document.write('<?script?language=VBScript\>?\n');??
    229. ????document.write('myDate?=?DateValue(''+month+'-'+day+'-'+year+'')?\n');??
    230. ????document.write('result?=?DatePart('ww',?myDate)?\n');??
    231. ????document.write('?\n');??
    232. ????return?result;??
    233. }??
    234. ??
    235. //+---------------------------------------------------??
    236. //|?字符串轉成日期類型???
    237. //|?格式?MM/dd/YYYY?MM-dd-YYYY?YYYY/MM/dd?YYYY-MM-dd??
    238. //+---------------------------------------------------??
    239. function?StringToDate(DateStr)??
    240. {???
    241. ??
    242. ????var?converted?=?Date.parse(DateStr);??
    243. ????var?myDate?=?new?Date(converted);??
    244. ????if?(isNaN(myDate))??
    245. ????{???
    246. ????????//var?delimCahar?=?DateStr.indexOf('/')!=-1?'/':'-';??
    247. ????????var?arys=?DateStr.split('-');??
    248. ????????myDate?=?new?Date(arys[0],--arys[1],arys[2]);??
    249. ????}??
    250. ????return?myDate;??
    251. }??
    posted on 2007-09-23 15:06 蠻哥♂楓 閱讀(2145) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 亚洲久悠悠色悠在线播放| 亚洲国产综合精品中文第一区| 久久国内免费视频| 国产成人精品免费视频大全麻豆| 一本岛高清v不卡免费一三区| 亚洲a在线视频视频| 亚洲一卡一卡二新区无人区| selaoban在线视频免费精品| 日韩免费无码一区二区三区| 久久不见久久见中文字幕免费 | 男人天堂免费视频| 国产精品1024永久免费视频| 国产精品V亚洲精品V日韩精品| 久久亚洲精品人成综合网| jzzijzzij在线观看亚洲熟妇| 免费a级毛片无码a∨免费软件| 性xxxx视频播放免费| 国产成人精品日本亚洲专区| 久久嫩草影院免费看夜色| 国产成人一区二区三区免费视频| 久久久久亚洲AV无码专区首JN| 成人国产网站v片免费观看| 99ee6热久久免费精品6| 亚洲AV综合色区无码二区偷拍 | 亚洲欧洲国产精品久久| 一级有奶水毛片免费看| 久久亚洲成a人片| 91免费精品国自产拍在线不卡| 亚洲av无码专区在线播放| 污污污视频在线免费观看| 亚洲国产婷婷六月丁香| 在线亚洲精品视频| 黄页网站在线看免费| 亚洲AV无码AV日韩AV网站| 99久久这里只精品国产免费| 亚洲AV无码专区在线厂| 亚洲av网址在线观看| 午夜色a大片在线观看免费| 二个人看的www免费视频| 亚洲精品天堂成人片?V在线播放| 亚洲av永久中文无码精品综合|