<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body>
<input type=text value="2008-02-04" id="gmtStartDay">
<input type=text value="2008-03-04" id ="gmtEndDay">
<input type=button id=bt value="OK" onclick="javascript:checkDiffDays();"/>
</body>
<script language=javascript>
//计算两个日期的差值,并弹出窗口,提醒错误
function checkDiffDays() {
var gmtStartDay = document.getElementById("gmtStartDay").value;
var gmtEndDay = document.getElementById("gmtEndDay").value;
var diffDays = getDiffDays(gmtStartDay,gmtEndDay);
if (diffDays > 90) {
alert("间隔时间无效,间隔时间不能大于90天!");
return false;
}
alert(diffDays);
return true;
}
//得到两个日期的间隔时间的天数
function getDiffDays(date1,date2) {
var regexp=/^(\d{1,4})[-|\.]{1}(\d{1,2})[-|\.]{1}(\d{1,2})$/;
var monthDays=[0,3,0,1,0,1,0,0,1,0,0,1];
regexp.test(date1);
var date1Year=RegExp.$1;
var date1Month=RegExp.$2;
var date1Day=RegExp.$3;
regexp.test(date2);
var date2Year=RegExp.$1;
var date2Month=RegExp.$2;
var date2Day=RegExp.$3;
if (validatePeriod(date1Year,date1Month, date1Day, date2Year, date2Month, date2Day)) {
var firstDate = new Date(date1Year, date1Month, date1Day);
var secondDate = new Date(date2Year, date2Month, date2Day);
var result = Math.floor((secondDate.getTime() - firstDate.getTime()) / (1000*3600*24));
for(j = date1Year; j < date2Year; j++) {
if (isLeapYear(j)) {
monthDays[1] = 2;
} else {
monthDays[1] = 3;
}
for(i = date1Month -1 ; i < date2Month; i++) {
result = result - monthDays[i]
}
}
return result;
} else {
return ;
}
if(validatePeriod(date1Year,date1Month,date1Day,date2Year,date2Month,date2Day)){
firstDate=new Date(date1Year,date1Month,date1Day);
secondDate=new Date(date2Year,date2Month,date2Day);
result=Math.floor((secondDate.getTime()-firstDate.getTime())/(1000*3600*24));
for(j=date1Year;j<=date2Year;j++){
if(isLeapYear(j)){
monthDays[1]=2;
}else{
monthDays[1]=3;
}
for(i=date1Month-1;i<date2Month;i++){
result=result-monthDays[i];
}
}
return result;
}else{
return 'the first field must before the second date.';
}
}
//判断年份是否是闰年
function isLeapYear(year) {
if (year % 4 == 0 && (year % 100 != 0) || (year % 400 == 0)) {
return true;
}
return false;
}
//判断前后两个日期
function validatePeriod(fyear, fmonth, fday, byear, bmonth, bday) {
if (fyear < byear) {
return true;
} else if (fyear == byear) {
if (fmonth < bmonth) {
return true;
} else if (fmonth == bmonth) {
if (fday <= bday) {
return true;
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
}
</script>
</html>
分享到:
相关推荐
这段代码提供了一个JavaScript函数 `functionDateDiff`,用于计算两个日期字符串之间相隔的天数。 #### 函数解析 - **参数**: - `sDate1`:表示起始日期的字符串。 - `sDate2`:表示结束日期的字符串。 - 这两...
代码如下:// 计算两个日期的间隔天数 function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2002-12-18格式 var aDate, oDate1, oDate2, iDays aDate = sDate1.split(“-“) oDate1 = new Date...
计算两个日期相隔天数并减去节假日,这个可以使用在各种需要通知的场景以及工作日提醒等
kettle中使用js计算两个日期之间的天数
除了计算补休天数,时间日期间隔的计算还可以应用在许多其他场景,如计算年龄、确定两个事件之间的时间差、判断是否过期等。对于开发者来说,熟练掌握JavaScript的Date对象和第三方日期插件的使用是必不可少的技能。...
在JavaScript中,时间...总之,`GetDateDiff`函数是JavaScript中计算两个日期之间间隔天数的一个简单实现,适用于不需要额外复杂功能的场景。然而,对于大型项目,推荐使用专门的日期处理库以获得更强大和灵活的功能。
在JavaScript中,计算两个时间相差的分钟数是一个常见的任务,特别是在处理用户输入或者进行时间相关的逻辑时。本文通过一个具体的示例,展示了如何利用JavaScript来计算两个时间的差距,以分钟为单位。以下是对该...
在这个主题中,你将学习到如何通过JavaScript实现一个基本的计算器,以及如何处理日期和时间,包括计算两个日期之间的间隔天数。这些都是JavaScript开发中非常实用的技能,对于增强你的前端开发能力非常有帮助。在...
在编程和数据分析中,计算两个日期之间的差值是一项常见的任务,尤其在日程安排、时间序列分析或报表生成等场景中。"指定两个日期计算相隔的天数"这一功能通常涉及日期函数的使用,这些函数能够帮助我们快速地得出两...
通过减法运算,我们可以得到两个时间戳之间的差值,然后转换为天、小时、分钟等单位。在Python中,可以使用`timedelta`对象;在JavaScript中,可以使用`Date`对象的`getTime()`方法获取时间戳,然后进行计算。 3. *...
"2日期相隔天数计算"是一个基本但至关重要的功能,它可以帮助我们理解两个特定日期之间的差异。以下是对这个主题的详细解释。 首先,我们需要明确日期的表示方式。在计算机中,日期通常以年、月、日的形式存储,如...
标题和描述提到的“当前时间减去确定的时间得到一个时间”实际上是在谈论计算两个时间点之间的差值,这个差值通常表示为一个时间间隔。在这个过程中,我们可以使用不同的编程语言来实现。下面我们将详细探讨这个主题...
JS 两个字符串时间的天数差 代码如下: var s = ((new Date(paramObj.end_date.replace(/-/g,”\/”))) – (new Date(paramObj.start_date.replace(/-/g,”\/”)))); var day = s/1000/60/60/24
在上述示例中,我们看到两种不同的方法来计算两个日期之间的天数和月数。 首先,`dateU` 函数是用来计算两个日期之间的月数和天数的。这个函数接受两个日期字符串作为参数,格式为`YYYYMMDD`。它首先提取出年、月、...
这可以通过直接减去两个Date对象来实现,结果会是一个时间间隔,单位为毫秒。例如: ```javascript var date1 = new Date("2022-07-15"); var date2 = new Date("2022-08-15"); var difference = Math.abs(date2 - ...
这种方法不仅适用于整日的比较,还可以用于计算两个日期间任意时间点的间隔天数。 需要注意的是,这种方法假设了两个日期都在同一个时区。如果日期跨越不同的时区,或者需要考虑夏令时变化,那么可能需要更复杂的...
这个"JS日期区间获取时间代码"的压缩包可能包含了一些实用的代码片段,用于帮助开发者有效地处理日期区间,例如获取两个日期之间的差值、筛选特定日期范围内的数据等。以下是一些关于JavaScript日期处理的关键知识点...
在日常的Web开发中,经常会遇到需要对日期进行处理的情况,比如比较两个日期的大小、计算日期间隔等。本篇将详细介绍如何仅使用JavaScript来实现日期之间的大小比较功能,并通过具体的代码示例来帮助理解。 #### 1....