<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=gb2312"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<script type="text/javascript">
function show(year,month) {
var week = showWeekDate(year,month);
document.writeln("周起始时间"+week.week1.start+"-"+week.week1.end+" 工作日"+week.week1.workDays+"<br/>");
document.writeln("周起始时间"+week.week2.start+"-"+week.week2.end+" 工作日"+week.week2.workDays+"<br/>");
document.writeln("周起始时间"+week.week3.start+"-"+week.week3.end+" 工作日"+week.week3.workDays+"<br/>");
document.writeln("周起始时间"+week.week4.start+"-"+week.week4.end+" 工作日"+week.week4.workDays+"<br/>");
document.writeln("周起始时间"+week.week5.start+"-"+week.week5.end+" 工作日"+week.week5.workDays+"<br/>");
if(week.hasOwnProperty("week6"))
{
document.writeln("周起始时间"+week.week6.start+"-"+week.week6.end+" 工作日"+week.week6.workDays+"<br/>");
}
}
function showWeekDate(year,month)
{
var date = new Date();
if (year.length > 0 && month.length > 0 )
{
date = new Date(year,month-1,1);
} else {
date = new Date(date.getFullYear(),date.getMonth(),1);
}
var week = new Object;
week.week1 = new Object;
week.week2 = new Object;
week.week3 = new Object;
week.week4 = new Object;
week.week5 = new Object;
//本月第一天是周几
week.today = date.getDay();
if (week.today == 0)
{
date.setDate(date.getDate()+1);
week.today = date.getDay();
}
//本月第一周工作日
week.week1.workDays = 5-week.today+1;
if (week.week1.workDays<0) week.week1.workDays=0;
//本月第一周起始日期
week.week1.start = date.getDate()+"/"+(date.getMonth()+1);
//本月第一周结束日期
date.setDate(date.getDate()+(1+week.week1.workDays));
week.week1.end = date.getDate()+"/"+(date.getMonth()+1);
//本月第二周起始日期
date.setDate(date.getDate()+1);
week.week2.workDays = 5;
week.week2.start = date.getDate()+"/"+(date.getMonth()+1);
//本月第二周结束日期
date.setDate(date.getDate()+(1+week.week2.workDays));
week.week2.end = date.getDate()+"/"+(date.getMonth()+1);
//本月第三周起始日期
date.setDate(date.getDate()+1);
week.week3.workDays = 5;
week.week3.start = date.getDate()+"/"+(date.getMonth()+1);
//本月第三周结束日期
date.setDate(date.getDate()+(1+week.week3.workDays));
week.week3.end = date.getDate()+"/"+(date.getMonth()+1);
//本月第四周起始日期
date.setDate(date.getDate()+1);
week.week4.workDays = 5;
week.week4.start = date.getDate()+"/"+(date.getMonth()+1);
//本月第四周结束日期
date.setDate(date.getDate()+(1+week.week4.workDays));
week.week4.end = date.getDate()+"/"+(date.getMonth()+1);
date.setDate(date.getDate()+1);
week.week5.start = date.getDate()+"/"+(date.getMonth()+1);
//计算月底日期
var nextMonth = new Date(date.getFullYear(),date.getMonth()+1,1);
var monthLastDay = new Date(nextMonth-86400000);
date.setDate(date.getDate()+6);
if (date <= monthLastDay)
{
week.week5.workDays = 5;
week.week5.end = date.getDate()+"/"+(date.getMonth()+1);
if (date < monthLastDay) {
week.week6 = new Object;
date.setDate(date.getDate()+1);
week.week6.start = date.getDate()+"/"+(date.getMonth()+1);
week.week6.end = monthLastDay.getDate()+"/"+(date.getMonth()+1);
week.week6.workDays = monthLastDay.getDay();
}
} else {
week.week5.end = monthLastDay.getDate()+"/"+(monthLastDay.getMonth()+1);
week.week5.workDays = monthLastDay.getDay();
if (week.week5.workDays >5 ) week.week5.workDays = 5;
}
return week;
}
</script>
</HEAD>
<body>
Year:<input type="text" id="year" value="2011"/>
Month:<input type="text" id="month" value="8"/>
<input type="button" value="show" onclick="javascript:show(document.getElementById('year').value,document.getElementById('month').value)"/>
</body>
</html>
运行结果:
周起始时间1/8-7/8 工作日5
周起始时间8/8-14/8 工作日5
周起始时间15/8-21/8 工作日5
周起始时间22/8-28/8 工作日5
周起始时间29/8-31/8 工作日3
分享到:
相关推荐
计算几个工作日后的日期,因为VB直接计算日期时不能单独只计算工作日,把周六周日都包括在内了。当我们需要按照工作日来推算的时候就要用到本程序(主要使用一个自制函数),只要知道起始日期, 以及需要推算的工作...
js两个日期之间的工作日数 [removed] //假日表 var holidays = new Array(); holidays[holidays.length] = new Date("2012/02/01"); holidays[holidays.length] = new Date("2012/02/03"); function ...
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate),需要的朋友可以参考下。原本是英文版,引入datePicker_CN.js就变成中文的了哦。
js日期验证和身份证验证 两个函数 身份证验证了生日,性别,位数 支持15和18位的
js获取一段时间内的日期,包括开始时间到结束时间内的天的日期,该段时间内的每周一的日期,每月的日期,每年的日期
JS获取当天是本年的第几周和本周的起始日期,可以设定周的起始日期,我这里的周是礼拜四开始,礼拜五结束,可以跨年,跨月
js验证日期格式,比较日期大小,判断两日期年月是否相同借鉴.pdf
可计算两个日期间的工作日数 js实现 值得参考
使用js计算日期之间的差值不使用内置方法,无兼容问题,建议JS新手学习使用
1 返回农历year年中哪个月是闰月,没有闰月返回0 2 返回农历year年闰月的天数(如果没有闰月则返回0) 3 返回农历year年的总天数 ...9 计算指定日期是否属于24节气 10 阳历日期转农历日期 11 日期转化周几
kettle中使用js计算两个日期之间的天数
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
指定开始和结束时间,范围该范围内的所有日期放入数组 Date.prototype.addDays = function(days) { var dat = new Date(this.valueOf()); dat.setDate(dat.getDate() + days); return dat; }; function getDates...
js 根据年份,月份,查询出这个月份的所有日期
js 获取 本周、上周、本月、上月、本季度、上季度的开始结束日期 /** * 获取本周、本季度、本月、上月的开始日期、结束日期 */ var now = new Date(); //当前日期 var nowDayOfWeek = now.getDay(); //今天本周的...
js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化js日期时间格式化
js移动端日期时间选择控件 javascript 原生js 日期选择控件
鉴于有的画面上需要判断一年之后的具体日期,根据不同月份算出一年之后的具体日期。
js日期控件js日期控件js日期控件js日期控件
选择日期控件(js封装类,javascript,选择日期,文本框选择日期,控件)