JS获取当前时间,时间函数 1 Js获取当前⽇期时间及其它操作,js时间函数
2
3var myDate = new Date();
Year(); //获取当前年份(2位)
FullYear(); //获取完整的年份(4位,1970-)
Month(); //获取当前⽉份(0-11,0代表1⽉)
Date(); //获取当前⽇(1-31)
Day(); //获取当前星期X(0-6,0代表星期天)
Time(); //获取当前时间(从1970.1.1开始的毫秒数)
Hours(); //获取当前⼩时数(0-23)
Minutes(); //获取当前分钟数(0-59)
Seconds(); //获取当前秒数(0-59)
Milliseconds(); //获取当前毫秒数(0-999)
LocaleDateString(); //获取当前⽇期
15var LocaleTimeString(); //获取当前时间
LocaleString( ); //获取⽇期与时间
17
18⽇期时间脚本库⽅法列表
19
20 Date.prototype.isLeapYear 判断闰年
21 Date.prototype.Format ⽇期格式化
22 Date.prototype.DateAdd ⽇期计算
23 Date.prototype.DateDiff ⽐较⽇期差
24 String ⽇期转字符串
25 Array ⽇期分割为数组
26 Date.prototype.DatePart 取⽇期的部分信息
27 Date.prototype.MaxDayOfDate 取⽇期所在⽉的最⼤天数
28 Date.prototype.WeekNumOfYear 判断⽇期所在年的第⼏周
29 StringToDate 字符串转⽇期型
30 IsValidDate 验证⽇期有效性
31 CheckDateTime 完整⽇期时间检查
32 daysBetween ⽇期天数差
33
34 js代码:
35
36//—————————————————
37// 判断闰年
38//—————————————————
39 Date.prototype.isLeapYear = function()
40 {
41return (0==Year()%4&&((Year()%100!=0)||(Year()%400==0)));
42 }
43
44//—————————————————
45// ⽇期格式化
46// 格式 YYYY/yyyy/YY/yy 表⽰年份
47// MM/M ⽉份
48// W/w 星期
49// dd/DD/d/D ⽇期
50// hh/HH/h/H 时间
51// mm/m 分钟
52// ss/SS/s/S 秒
53//—————————————————
54 Date.prototype.Format = function(formatStr)
55 {
56var str = formatStr;
57var Week = ['⽇','⼀','⼆','三','四','五','六'];
58
59 place(/yyyy|YYYY/,FullYear());
60 place(/yy|YY/,(Year() % 100)>9?(Year() % 100).toString():’0′ + (Year() % 100));
61
62 place(/MM/,Month()>Month().toString():’0′ + Month());
63 place(/M/Month());
64
65 place(/w|W/g,Day()]);
66
67 place(/dd|DD/,Date()>Date().toString():’0′ + Date());
68 place(/d|D/Date());
69
70 place(/hh|HH/,Hours()>Hours().toString():’0′ + Hours());
71 place(/h|H/Hours());
72 place(/mm/,Minutes()>Minutes().toString():’0′ + Minutes());
73 place(/m/Minutes());
74
75 place(/ss|SS/,Seconds()>Seconds().toString():’0′ + Seconds());
76 place(/s|S/Seconds());
77
78return str;
79 }
80
函数prototype81//+—————————————————
82//| 求两个时间的天数差⽇期格式为 YYYY-MM-dd
83//+—————————————————
84function daysBetween(DateOne,DateTwo)
85 {
86var OneMonth = DateOne.substring(5,DateOne.lastIndexOf (‘-’));
87var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf (‘-’)+1);
88var OneYear = DateOne.substring(0,DateOne.indexOf (‘-’));
89
90var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf (‘-’));
91var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf (‘-’)+1);
92var TwoYear = DateTwo.substring(0,DateTwo.indexOf (‘-’));
93
94var cha=((Date.parse(OneMonth+’/'+OneDay+’/'+OneYear)- Date.parse(TwoMonth+’/'+TwoDay+’/'+TwoYear))/86400000);
95return Math.abs(cha);
96 }
97
98//+—————————————————
99//| ⽇期计算
100//+—————————————————
101 Date.prototype.DateAdd = function(strInterval, Number) {
102var dtTmp = this;
103switch (strInterval) {
104case ‘s’ :return new Date(Date.parse(dtTmp) + (1000 * Number));
105case ‘n’ :return new Date(Date.parse(dtTmp) + (60000 * Number));
106case ‘h’ :return new Date(Date.parse(dtTmp) + (3600000 * Number));
107case ‘d’ :return new Date(Date.parse(dtTmp) + (86400000 * Number));
108case ‘w’ :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
109case ‘q’ :return new FullYear(), (Month()) + Number*3, Date(), Hours(), Minutes(), Seconds()); 110case ‘m’ :return new FullYear(), (Month()) + Number, Date(), Hours(), dtTmp.
getMinutes(), Seconds()); 111case ‘y’ :return new Date((FullYear() + Number), Month(), Date(), Hours(), Minutes(), Seconds()); 112 }
113 }
114
115//+—————————————————
116//| ⽐较⽇期差 dtEnd 格式为⽇期型或者有效⽇期格式字符串
117//+—————————————————
118 Date.prototype.DateDiff = function(strInterval, dtEnd) {
119var dtStart = this;
120if (typeof dtEnd == ‘string’ )//如果是字符串转换为⽇期型
121 {
122 dtEnd = StringToDate(dtEnd);
123 }
124switch (strInterval) {
125case ‘s’ :return parseInt((dtEnd – dtStart) / 1000);
126case ‘n’ :return parseInt((dtEnd – dtStart) / 60000);
127case ‘h’ :return parseInt((dtEnd – dtStart) / 3600000);
128case ‘d’ :return parseInt((dtEnd – dtStart) / 86400000);
129case ‘w’ :return parseInt((dtEnd – dtStart) / (86400000 * 7));
130case ‘m’ :return (Month()+1)+((FullYear()-FullYear())*12) – (Month()+1);
131case ‘y’ :FullYear() – FullYear();
132 }
133 }
134
135//+—————————————————
136//| ⽇期输出字符串,重载了系统的toString⽅法
137//+—————————————————
138 String = function(showWeek)
139 {
140var myDate= this;
141var str = LocaleDateString();
142if (showWeek)
143 {
144var Week = ['⽇','⼀','⼆','三','四','五','六'];
145 str += ‘ 星期’ + Day()];
146 }
147return str;
148 }
149
150//+—————————————————
151//| ⽇期合法性验证
152//| 格式为:YYYY-MM-DD或YYYY/MM/DD
153//+—————————————————
154function IsValidDate(DateStr)
155 {
156var place(/(^\s+|\s+$)/g,”); //去两边空格;
157if(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格式
160var s = place(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,”);
161if (s==”) //说明格式满⾜YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
162 {
163var t=new place(/\-/g,’/'));
164var ar = sDate.split(/[-/:]/);
165if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
166 {
167//alert(‘错误的⽇期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。’); 168return false;
169 }
170 }
171else
172 {
173//alert(‘错误的⽇期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。’); 174return false;
175 }
176return true;
177 }
178
179//+—————————————————
180//| ⽇期时间检查
181//| 格式为:YYYY-MM-DD HH:MM:SS
182//+—————————————————
183function CheckDateTime(str)
184 {
185var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
186var r = str.match(reg);
187if(r==null)return false;
188 r[2]=r[2]-1;
189var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
FullYear()!=r[1])return false;
Month()!=r[2])return false;
Date()!=r[3])return false;
Hours()!=r[4])return false;
Minutes()!=r[5])return false;
Seconds()!=r[6])return false;
196return true;
197 }
198
199//+—————————————————
200//| 把⽇期分割成数组
201//+—————————————————
202 Array = function()
203 {
204var myDate = this;
205var myArray = Array();
206 myArray[0] = FullYear();
207 myArray[1] = Month();
208 myArray[2] = Date();
209 myArray[3] = Hours();
210 myArray[4] = Minutes();
211 myArray[5] = Seconds();
212return myArray;
213 }
214
215//+—————————————————
216//| 取得⽇期数据信息
217//| 参数 interval 表⽰数据类型
218//| y 年 m⽉ d⽇ w星期 ww周 h时 n分 s秒
219//+—————————————————
220 Date.prototype.DatePart = function(interval)
221 {
222var myDate = this;
223var partStr=”;
224var Week = ['⽇','⼀','⼆','三','四','五','六'];
225switch (interval)
226 {
227case ‘y’ :partStr = FullYear();break;
228case ‘m’ :partStr = Month()+1;break;
229case ‘d’ :partStr = Date();break;
230case ‘w’ :partStr = Day()];break;
231case ‘ww’ :partStr = myDate.WeekNumOfYear();break;
232case ‘h’ :partStr = Hours();break;
233case ‘n’ :partStr = Minutes();break;
234case ‘s’ :partStr = Seconds();break;
235 }
236return partStr;
237 }
238
239//+—————————————————
240//| 取得当前⽇期所在⽉的最⼤天数
241//+—————————————————
242 Date.prototype.MaxDayOfDate = function()
243 {
244var myDate = this;
245var ary = Array();
246var date1 = (new Date(ary[0],ary[1]+1,1));
247var 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 = Array();
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 = Datue(”+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 }
286
287若要显⽰:当前⽇期加时间(如:2009-06-12 12:00)
288
289 function CurentTime()
290 {
291 var now = new Date();
292
293 var year = FullYear(); //年
294 var month = Month() + 1; //⽉
295 var day = Date(); //⽇
296
297 var hh = Hours(); //时
298 var mm = Minutes(); //分
299
300 var clock = year + “-”;
301
302 if(month < 10)
303 clock += “0″;
304
305 clock += month + “-”;
306
307 if(day < 10)
308 clock += “0″;
309
310 clock += day + ” “;
311
312 if(hh < 10)
313 clock += “0″;
314
315 clock += hh + “:”;
316 if (mm < 10) clock += ’0′;
317 clock += mm;
318 return(clock);
319 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论