javascript常用tools

    //函数说明:求第y年第m月的天数
    //参数说明:y年份,m为月份,如果y或m为null,则取系统的当前年或月
    //思路:先求出下个月的第一天,再减去一天
	function getDaysOfMonth(y,m) {
		if(isNaN(y) || isNaN(m) || m<1)	return 0;
		var yearOfNextMonth;
		var nextMonth;

		var d = new Date();
		m = m - 1;//Date对象的月份是从0开始的
		//如果y或m为null则默认为当前系统的时间
		if(y==null) {
			y = d.getYear();
		}
		if(m==null) {
			m = d.getMonth();
		}
		yearOfNextMonth = y;
		nextMonth = m + 1;
		//判断下个月是某为明年的第一个月,如果是,则
		//下个月年份要在参照当前的年份上加1
		if(nextMonth>12) {
			yearOfNextMonth = y + 1;
		}
		
		d.setYear(yearOfNextMonth);
		d.setMonth(nextMonth);
		d.setDate(1);
		//求出下个月的月初时间后,再减去一天就是当前月的月末了
		d.setTime(d.getTime()-24*60*60*1000);//当前月的月末毫秒数
		return d.getDate();
	}


	//函数说明:求第y年第m个月的最后一天
	//参数说明:y年份,m为月份,如果y或m为null,则取系统的当前年或月
	//返回值说明:返回一个
	function getMonthLastDate(y,m) {
		if(isNaN(y) || isNaN(m) || m<1)	return null;
		var yearOfNextMonth;
		var nextMonth;

		var d = new Date();
		m = m - 1;//Date对象的月份是从0开始的
		//如果y或m为null则默认为当前系统的时间
		if(y==null) {
			y = d.getYear();
		}
		if(m==null) {
			m = d.getMonth();
		}
		yearOfNextMonth = y;
		nextMonth = m + 1;
		//判断下个月是某为明年的第一个月,如果是,则
		//下个月年份要在参照当前的年份上加1
		if(nextMonth>12) {
			yearOfNextMonth = y + 1;
		}
		
		d.setYear(yearOfNextMonth);
		d.setMonth(nextMonth);
		d.setDate(1);
		//求出下个月的月初时间后,再减去一天就是当前月的月末了
		d.setTime(d.getTime()-24*60*60*1000);//当前月的月末毫秒数
		return d;
	}

你可能感兴趣的:(JavaScript)