javascript获取上一工作日

    今天工作时有碰到一段获取上一工作日的代码,获取上一工作日并将其转化为yyMMdd格式的字符串。 如2015年9月1日,转化为20150901。

    这里只是简单地获取周一至周五的工作日。

	//获取上一工作日
	function getLastWorkDate(date){
		var dateInt = parseInt(date.Format("yyyyMMdd"));
		var yesterday = dateInt - 1;
		var day = date.getDay();
		if(day=="0"){
			yesterday = dateInt - 2;
		}else if(day=="1"){
			yesterday = dateInt - 3;
		}
		return yesterday;
	}
     然后测试的时候发现,每到月初时获取上个月的日期是20150900,有这个问题。

     后来重新写了个方法能过正常地获取日期。如下:

	//获取上一工作日
	//修复月初时工作日显示为0的问题,mod by rj08zhou 2015/09/02
	function getLastWorkDate(date){
	    var yesterday = new Date();
		if(yesterday.getDay() == 0){
		   yesterday.setDate(date.getDate()-2);
		}else if(yesterday.getDay() == 1){
		   yesterday.setDate(date.getDate()-3);
		}else{
		   yesterday.setDate(date.getDate()-1);	
		}
		var dateInt = parseInt(yesterday.Format("yyyyMMdd"));
		return dateInt;
	}
      这次每到月初时,都能显示正确的上个月月末日期。

猜你喜欢

转载自blog.csdn.net/rj08zhou/article/details/48373521
今日推荐