JS计算日期时间

2017-12-04  本文已影响0人  WebCoding

计算自然月、指定自然月某一天、获取前一天和后一天、判断闰年、月初、月末最后一天日期,代码如下:

//时间格式化

functionFormatData(Data){

varnow=Data;

varyear=now.getFullYear();//年

varmonth=now.getMonth() +1;//月

varday=now.getDate();//日

varclock=year+"-";

if(month<10)

clock+="0";

clock+=month+"-";

if(day<10)

clock+="0";

clock+=day;

return(clock);

}

/**

* 获取上一个月月初

*

* @date 格式为yyyy-mm-dd的日期,如:2014-01-25

*/

functiongetEarlyDay(date) {

vararr=date.split('-');

varyear=arr[0];//获取当前日期的年份

varmonth=arr[1];//获取当前日期的月份

varday=arr[2];//获取当前日期的日

vardays=newDate(year,month,0);

days=days.getDate();//获取当前日期中月的天数

varyear2=year;

varmonth2=parseInt(month) -1;

if(month2==0) {//如果是1月份,则取上一年的12月份

year2=parseInt(year2) -1;

month2=12;

}

varday2=day;

vardays2=newDate(year2,month2,0);

days2=days2.getDate();

if(day2>days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30

day2=days2;

}

if(month2<10) {

month2='0'+month2;//月份填补成2位。

}

varEarly=year2+'-'+month2+'-'+"01";

returnEarly;

}

/**

* 求月末

*

* @date 格式为yyyy-mm-dd的日期,如:2014-01-25

*/

functiongetMonthEndDay(date) {

vararr=date.split('-');

varyear=arr[0];//获取当前日期的年份

varmonth=arr[1];//获取当前日期的月份

varday=arr[2];//获取当前日期的日

vardays=newDate(year,month,0);

days=days.getDate();//获取当前日期中月的天数

varyear2=year;

varmonth2=parseInt(month) -1;

if(month2==0) {//如果是1月份,则取上一年的12月份

year2=parseInt(year2) -1;

month2=12;

}

varday2=day;

vardays2=newDate(year2,month2,0);

days2=days2.getDate();

if(day2>days2) {//如果原来日期大于上一月的日期,则取当月的最大日期。比如3月的30日,在2月中没有30

day2=days2;

}

if(month2<10) {

month2='0'+month2;//月份填补成2位。

}

//读取日期自动回减一

if(month2==4||month2==6||month2==9||month2==11){

day2=30

}elseif(month2==2){

if(isLeapYear(year)){

day=29;

}else{

day2=28;

}

}else{

day2=31;

}

varEarly=year2+'-'+month2+'-'+day2;

returnEarly;

}

//JS判断闰年代码

functionisLeapYear(Year) {

        if(((Year%4)==0) && ((Year%100)!=0) || ((Year%400)==0)) {

                return(true);

        }else{

                return(false);

         }

}

上一篇 下一篇

猜你喜欢

热点阅读