1.Js获取当前日期时间及其它操作2008-07-28 17:202008-06-11 17:24var myDate = new Date();
2.myDate.getYear(); //获取当前年份(2位) 3.myDate.getFullYear(); //获取完整的年份(4位,1970-????) 4.myDate.getMonth(); //获取当前月份(0-11,0代表1月) 5.myDate.getDate(); //获取当前日(1-31) 6.myDate.getDay(); //获取当前星期X(0-6,0代表星期天) 7.myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数) 8.myDate.getHours(); //获取当前小时数(0-23) 9.myDate.getMinutes(); //获取当前分钟数(0-59) 10.myDate.getSeconds(); //获取当前秒数(0-59) 11.myDate.getMilliseconds(); //获取当前毫秒数(0-999) 12.myDate.toLocaleDateString(); //获取当前日期 13.var mytime=myDate.toLocaleTimeString(); //获取当前时间 14.myDate.toLocaleString( ); //获取日期与时间 15.16.17.日期时间脚本库方法列表
18.19.Date.prototype.isLeapYear 判断闰年
20.Date.prototype.Format 日期格式化
21.Date.prototype.DateAdd 日期计算
22.Date.prototype.DateDiff 比较日期差
23.Date.prototype.toString 日期转字符串
24.Date.prototype.toArray 日期分割为数组
25.Date.prototype.DatePart 取日期的部分信息
26.Date.prototype.MaxDayOfDate 取日期所在月的最大天数
27.Date.prototype.WeekNumOfYear 判断日期所在年的第几周
28.StringToDate 字符串转日期型
29.IsValidDate 验证日期有效性
30.CheckDateTime 完整日期时间检查
31.daysBetween 日期天数差
32.33.js代码:
34.35.//--------------------------------------------------- 36.// 判断闰年 37.//--------------------------------------------------- 38.Date.prototype.isLeapYear = function()
39.{
40. return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
41.}
42.
43.//--------------------------------------------------- 44.// 日期格式化 45.// 格式 YYYY/yyyy/YY/yy 表示年份 46.// MM/M 月份 47.// W/w 星期 48.// dd/DD/d/D 日期 49.// hh/HH/h/H 时间 50.// mm/m 分钟 51.// ss/SS/s/S 秒 52.//--------------------------------------------------- 53.Date.prototype.Format = function(formatStr)
54.{
55. var str = formatStr;
56. var Week = ['日','一','二','三','四','五','六'];
57.
58. str=str.replace(/yyyy|YYYY/,this.getFullYear());
59. str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():'0' + (this.getYear() % 100));
60.
61. str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():'0' + this.getMonth());
62. str=str.replace(/M/g,this.getMonth());
63.
64. str=str.replace(/w|W/g,Week[this.getDay()]);
65.
66. str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():'0' + this.getDate());
67. str=str.replace(/d|D/g,this.getDate());
68.
69. str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():'0' + this.getHours());
70. str=str.replace(/h|H/g,this.getHours());
71. str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():'0' + this.getMinutes());
72. str=str.replace(/m/g,this.getMinutes());
73.
74. str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():'0' + this.getSeconds());
75. str=str.replace(/s|S/g,this.getSeconds());
76.
77. return str;
78.}
79.
80.//+--------------------------------------------------- 81.//| 求两个时间的天数差 日期格式为 YYYY-MM-dd 82.//+--------------------------------------------------- 83.function daysBetween(DateOne,DateTwo)
84.{
85. var OneMonth = DateOne.substring(5,DateOne.lastIndexOf ('-'));
86. var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf ('-')+1);
87. var OneYear = DateOne.substring(0,DateOne.indexOf ('-'));
88.
89. var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf ('-'));
90. var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf ('-')+1);
91. var TwoYear = DateTwo.substring(0,DateTwo.indexOf ('-'));
92.
93. var cha=((Date.parse(OneMonth+'/'+OneDay+'/'+OneYear)- Date.parse(TwoMonth+'/'+TwoDay+'/'+TwoYear))/86400000);
94. return Math.abs(cha);
95.}
96.
97.
98.//+--------------------------------------------------- 99.//| 日期计算 100.//+--------------------------------------------------- 101.Date.prototype.DateAdd = function(strInterval, Number) {
102. var dtTmp = this;
103. switch (strInterval) {
104. case 's' :return new Date(Date.parse(dtTmp) + (1000 * Number));
105. case 'n' :return new Date(Date.parse(dtTmp) + (60000 * Number));
106. case 'h' :return new Date(Date.parse(dtTmp) + (3600000 * Number));
107. case 'd' :return new Date(Date.parse(dtTmp) + (86400000 * Number));
108. case 'w' :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
109. case 'q' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
110. case 'm' :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
111. case 'y' :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
112. }
113.}
114.
115.//+--------------------------------------------------- 116.//| 比较日期差 dtEnd 格式为日期型或者 有效日期格式字符串 117.//+--------------------------------------------------- 118.Date.prototype.DateDiff = function(strInterval, dtEnd) {
119. var dtStart = this;
120. if (typeof dtEnd == 'string' )//如果是字符串转换为日期型 121. {
122. dtEnd = StringToDate(dtEnd);
123. }
124. switch (strInterval) {
125. case 's' :return parseInt((dtEnd - dtStart) / 1000);
126. case 'n' :return parseInt((dtEnd - dtStart) / 60000);
127. case 'h' :return parseInt((dtEnd - dtStart) / 3600000);
128. case 'd' :return parseInt((dtEnd - dtStart) / 86400000);
129. case 'w' :return parseInt((dtEnd - dtStart) / (86400000 * 7));
130. case 'm' :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
131. case 'y' :return dtEnd.getFullYear() - dtStart.getFullYear();
132. }
133.}
134.
135.//+--------------------------------------------------- 136.//| 日期输出字符串,重载了系统的toString方法 137.//+--------------------------------------------------- 138.Date.prototype.toString = function(showWeek)
139.{
140. var myDate= this;
141. var str = myDate.toLocaleDateString();
142. if (showWeek)
143. {
144. var Week = ['日','一','二','三','四','五','六'];
145. str += ' 星期' + Week[myDate.getDay()];
146. }
147. return str;
148.}
149.
150.//+--------------------------------------------------- 151.//| 日期合法性验证 152.//| 格式为:YYYY-MM-DD或YYYY/MM/DD 153.//+--------------------------------------------------- 154.function IsValidDate(DateStr)
155.{
156. var sDate=DateStr.replace(/(^/s+|/s+$)/g,''); //去两边空格; 157. if(sDate=='') return true;
158. //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为'' 159. //数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式 160. var s = sDate.replace(/[/d]{ 4,4 }[/-/]{ 1 }[/d]{ 1,2 }[/-/]{ 1 }[/d]{ 1,2 }/g,'');
161. if (s=='') //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D 162. {
163. var t=new Date(sDate.replace(//-/g,'/'));
164. var ar = sDate.split(/[-/:]/);
165. if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
166. {
167. //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); 168. return false;
169. }
170. }
171. else
172. {
173. //alert('错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。'); 174. return false;
175. }
176. return true;
177.}
178.
179.//+--------------------------------------------------- 180.//| 日期时间检查 181.//| 格式为:YYYY-MM-DD HH:MM:SS 182.//+--------------------------------------------------- 183.function CheckDateTime(str)
184.{
185. var reg = /^(/d+)-(/d{ 1,2 })-(/d{ 1,2 }) (/d{ 1,2 }):(/d{ 1,2 }):(/d{ 1,2 })$/;
186. var r = str.match(reg);
187. if(r==null)return false;
188. r[2]=r[2]-1;
189. var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
190. if(d.getFullYear()!=r[1])return false;
191. if(d.getMonth()!=r[2])return false;
192. if(d.getDate()!=r[3])return false;
193. if(d.getHours()!=r[4])return false;
194. if(d.getMinutes()!=r[5])return false;
195. if(d.getSeconds()!=r[6])return false;
196. return true;
197.}
198.
199.//+--------------------------------------------------- 200.//| 把日期分割成数组 201.//+--------------------------------------------------- 202.Date.prototype.toArray = function()
203.{
204. var myDate = this;
205. var myArray = Array();
206. myArray[0] = myDate.getFullYear();
207. myArray[1] = myDate.getMonth();
208. myArray[2] = myDate.getDate();
209. myArray[3] = myDate.getHours();
210. myArray[4] = myDate.getMinutes();
211. myArray[5] = myDate.getSeconds();
212. return myArray;
213.}
214.
215.//+--------------------------------------------------- 216.//| 取得日期数据信息 217.//| 参数 interval 表示数据类型 218.//| y 年 m月 d日 w星期 ww周 h时 n分 s秒 219.//+--------------------------------------------------- 220.Date.prototype.DatePart = function(interval)
221.{
222. var myDate = this;
223. var partStr='';
224. var Week = ['日','一','二','三','四','五','六'];
225. switch (interval)
226. {
227. case 'y' :partStr = myDate.getFullYear();break;
228. case 'm' :partStr = myDate.getMonth()+1;break;
229. case 'd' :partStr = myDate.getDate();break;
230. case 'w' :partStr = Week[myDate.getDay()];break;
231. case 'ww' :partStr = myDate.WeekNumOfYear();break;
232. case 'h' :partStr = myDate.getHours();break;
233. case 'n' :partStr = myDate.getMinutes();break;
234. case 's' :partStr = myDate.getSeconds();break;
235. }
236. return partStr;
237.}
238.
239.//+--------------------------------------------------- 240.//| 取得当前日期所在月的最大天数 241.//+--------------------------------------------------- 242.Date.prototype.MaxDayOfDate = function()
243.{
244. var myDate = this;
245. var ary = myDate.toArray();
246. var date1 = (new Date(ary[0],ary[1]+1,1));
247. var date2 = date1.dateAdd(1,'m',1);
248. var result = dateDiff(date1.Format('yyyy-MM-dd'),date2.Format('yyyy-MM-dd'));
249. return result;
250.}
251.
252.//+--------------------------------------------------- 253.//| 取得当前日期所在周是一年中的第几周 254.//+--------------------------------------------------- 255.Date.prototype.WeekNumOfYear = function()
256.{
257. var myDate = this;
258. var ary = myDate.toArray();
259. var year = ary[0];
260. var month = ary[1]+1;
261. var day = ary[2];
262. document.write('< script language=VBScript/> /n');
263. document.write('myDate = DateValue(''+month+'-'+day+'-'+year+'') /n');
264. document.write('result = DatePart('ww', myDate) /n');
265. document.write(' /n');
266. return result;
267.}
268.
269.//+--------------------------------------------------- 270.//| 字符串转成日期类型 271.//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd 272.//+--------------------------------------------------- 273.function StringToDate(DateStr)
274.{
275.
276. var converted = Date.parse(DateStr);
277. var myDate = new Date(converted);
278. if (isNaN(myDate))
279. {
280. //var delimCahar = DateStr.indexOf('/')!=-1?'/':'-'; 281. var arys= DateStr.split('-');
282. myDate = new Date(arys[0],--arys[1],arys[2]);
283. }
284. return myDate;
285.}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/tone_liu/archive/2008/11/11/3274291.aspx