超级好用的js处理时间函数二

北京皮肤科防治医院 http://m.39.net/pf/a_4781492.html

在上篇文章《超级好用的js处理时间函数(一)》中介绍了两个函数,反响比较好,现在再介绍两个,如果大家觉得有用,可以收藏备用。

判断一个年份是否为闰年

代码:

/*

函数:判断一个年份是否为闰年

返回:是否为闰年

*/

Date.prototype.isLeapYear=function(){

varyear=this.getFullYear();

return(year%4==0)(year%!=0

year%==0);

}

测试:

scripttype=text/javascript

document.writeln(newDate().convertDate(-04-08).isLeapYear()+br/);

document.writeln(newDate().convertDate(-04-08).isLeapYear()+br/);

/script

结果:

true

false

格式化日期

这个函数类似.net中Format函数,传入格式化字符串如”yyyy-MM-dd”,返回格式化后的日期。

/*

函数:格式化日期

参数:formatStr-格式化字符串

d:将日显示为不带前导零的数字,如1

dd:将日显示为带前导零的数字,如01

ddd:将日显示为缩写形式,如Sun

dddd:将日显示为全名,如Sunday

M:将月份显示为不带前导零的数字,如一月显示为1

MM:将月份显示为带前导零的数字,如01

MMM:将月份显示为缩写形式,如Jan

MMMM:将月份显示为完整月份名,如January

yy:以两位数字格式显示年份

yyyy:以四位数字格式显示年份

h:使用12小时制将小时显示为不带前导零的数字,注意

的用法

hh:使用12小时制将小时显示为带前导零的数字

H:使用24小时制将小时显示为不带前导零的数字

HH:使用24小时制将小时显示为带前导零的数字

m:将分钟显示为不带前导零的数字

mm:将分钟显示为带前导零的数字

s:将秒显示为不带前导零的数字

ss:将秒显示为带前导零的数字

l:将毫秒显示为不带前导零的数字

ll:将毫秒显示为带前导零的数字

tt:显示am/pm

TT:显示AM/PM

返回:格式化后的日期

*/

Date.prototype.format=function(formatStr){

vardate=this;

/*

函数:填充0字符

参数:value-需要填充的字符串,length-总长度

返回:填充后的字符串

*/

varzeroize=function(value,length){

if(!length){

length=2;

}

value=newString(value);

for(vari=0,zeros=;i(length-value.length);i++){

zeros+=0;

}

returnzeros+value;

};

returnformatStr.replace(/[^]*

[^]*

\b(?:d{1,4}

M{1,4}

yy(?:yy)?

([hHmstT])\1?

[lLZ])\b/g,function(0){

switch(0){

cased:returndate.getDate();

casedd:returnzeroize(date.getDate());

caseddd:return[Sun,Mon,Tue,Wed,Thr,Fri,Sat][date.getDay()];

casedddd:return[Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday][date.getDay()];

caseM:returndate.getMonth()+1;

caseMM:returnzeroize(date.getMonth()+1);

caseMMM:return[Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec][date.getMonth()];

caseMMMM:return[January,February,March,April,May,June,July,August,September,October,November,December][date.getMonth()];

caseyy:returnnewString(date.getFullYear()).substr(2);

caseyyyy:returndate.getFullYear();

caseh:returndate.getHours()%12

12;

casehh:returnzeroize(date.getHours()%12

12);

caseH:returndate.getHours();

caseHH:returnzeroize(date.getHours());

casem:returndate.getMinutes();

casemm:returnzeroize(date.getMinutes());

cases:returndate.getSeconds();

casess:returnzeroize(date.getSeconds());

casel:returndate.getMilliseconds();

casell:returnzeroize(date.getMilliseconds());

casett:returndate.getHours()12?am:pm;

caseTT:returndate.getHours()12?AM:PM;

}

});

}

测试:

scripttype=text/javascript

document.writeln(newDate().format(yyyy-MM-ddhh:mm:ss));

/script

结果:

-11-:31:53




转载请注明:http://www.aierlanlan.com/grrz/1453.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了