<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
分享到:
相关推荐
以上三个函数提供了JavaScript中处理日期的基本能力:比较日期大小、验证日期格式以及判断两个日期是否在同一个月份。这些函数可以很好地帮助开发者在Web应用中进行日期相关的逻辑处理,从而提高应用程序的功能性和...
在JavaScript编程中,有时我们需要获取特定年份和月份内的所有日期。这在处理日历、数据分析或者时间相关的应用中非常常见。"根据年月获取这个月份的所有日期"这个任务可以通过编写一个函数来实现,就像提供的代码...
在Web开发中,用户界面经常需要提供日期和时间选择功能,以便用户能够方便地输入或选择日期和时间。本文将详细讲解"web端日期选择器、月份选择器、时间选择器以及时间范围选择器"这四个核心知识点,并结合提供的文件...
在这个例子中,`HolidayCalculator`类根据传入的日期和工作日数量,计算出新的日期,并打印出来。 总的来说,这个工具类通过引入JSON格式的节假日数据,结合Java的日期处理能力,提供了灵活的日期判断和计算功能,...
而为了将时间限制从开始时间上移除,可以通过设置结束时间的开始日期为1970年1月1日(一个非常早的日期),或者设置一个非常晚的日期如2286年作为结束时间的开始日期,这样就可以将时间约束移除。 在清除时间的实现...
2. **JavaScript和jQuery基础**:这个插件基于JavaScript(可能包括jQuery库)编写,利用JavaScript强大的DOM操作和事件处理能力,实现了动态的日期和时间选择效果。jQuery简化了跨浏览器的DOM操作,使得代码更加...
这个`Date`对象提供了丰富的API,例如`getFullYear()`获取四位数的年份,`getMonth()`获取月份(注意,JavaScript中的月份是从0开始的),`getDate()`获取月份中的日期,`getHours()`、`getMinutes()`和`getSeconds...
这个控件应该能够以符合日本用户习惯的方式显示日期,并且在用户选择开始日期和结束日期时,确保开始日期始终小于结束日期,以防止逻辑错误。 首先,我们需要了解JSP(JavaServer Pages)是Java平台上的一种动态...
5. **拼接日期字符串**:将年、月、日拼接到一个字符串中,并且确保月份和日期都是两位数(如 09 或 05)。 #### 应用场景 1. **合同到期提醒**:用于确定合同的到期日期,以便提前通知相关人员进行续签或其他操作...
通过实例化 `Date` 对象,我们可以获取当前日期和时间,也可以进行日期的计算和格式化。例如: ```javascript var now = new Date(); var year = now.getFullYear(); var month = now.getMonth() + 1; // 注意月份...
标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、星期、时间等,以及日期时间的格式化方法。 详细知识点介绍: 1. 获取当前日期和时间: - JavaScript中的Date...
本文将详细探讨如何实现一个年日历,包括维护工作日和休息日,以及初始化法定节假日,主要涉及的技术栈是Vue.js,一个流行的前端JavaScript框架。 首先,我们需要理解年日历的基本构成。年日历通常会展示一年中的12...
日期控件是UI中的常见元素,常用于各种预订系统,如酒店预订、机票预订等,让用户能够方便地选择开始和结束日期。在这个场景中,我们关注的是一个特别设计的H5日期控件,它特别针对酒店预订流程,允许用户选择两个...
2. **获取日期和时间**:`Date`对象提供了多种方法来获取日期和时间的各个部分,如`getDate()`返回月份中的日期,`getMonth()`返回月份(注意,月份是从0开始的),`getFullYear()`返回四位数的年份,`getHours()`、...
这里需要注意的是,由于JavaScript中的月份是从0开始计数的,所以在创建`Date`对象时,需要将月份减1。 #### 3. 比较日期大小 接下来,需要比较`startTime`和`endTime`的大小。如果开始时间晚于结束时间,则会弹出...
在JavaScript编程语言中,`Date`对象是处理日期和时间的核心工具。`new Date()`构造函数用于创建一个表示当前日期和时间的新`Date`对象。然而,在这个特定的场景下,我们关注的是如何使用`Date`对象来获取指定日期...
计算工作日差值时,我们需要从起始日期开始,逐天向前或向后遍历,直到达到结束日期,但要跳过非工作日。 在Excel中,有一个内置的WORKDAY函数,可以方便地完成这项任务。WORKDAY函数接受三个参数:起始日期、工作...
在这个JavaScript示例中,我们为开始和结束日期的`datepicker`添加了`onSelect`事件处理器,确保结束日期始终大于或等于开始日期。 在实际应用中,我们还需要考虑用户界面的友好性和异常处理,比如当用户尝试输入...
在开发Web应用时,JavaScript(JS)和SQL Server之间的日期兼容性问题经常出现,因为两者处理日期的方式有所不同。本文将详细探讨如何在JS与SQL Server之间有效地管理和转换日期,以确保数据的一致性和正确性。 ...
此函数将字符串形式的日期和时间转换为JavaScript的时间戳。 #### 3.3 计算日期差(周数) 此外,文件中还包含了一个`dateDiffWeek`函数,用于计算两个日期之间的周数差异: ```javascript function dateDiffWeek...