您的位置:首页 > Web前端 > JavaScript

javascript获取上一工作日

2015-09-11 15:39 507 查看
今天工作时有碰到一段获取上一工作日的代码,获取上一工作日并将其转化为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;
}
这次每到月初时,都能显示正确的上个月月末日期。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: