<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title></title>
</head>
<body>
<script language="JavaScript">
function getHours(){
var time1 = document.getElementById("time1").value;
var time2 = document.getElementById("time2").value;
var date_1 = new Date();
date_1.setTime(string2date(time1));
var date_2 = new Date();
date_2.setTime(string2date(time2));
var date_diff = new Date();
// date_diff.setTime(Math.abs(date_2.getTime() - date_1.getTime()));
date_diff.setTime(date_2.getTime() - date_1.getTime());
var time_diff = date_diff.getTime();
// 计算天数
// var days = Math.floor(time_diff / (24 * 60 * 60 * 1000));
// time_diff -= days * (24 * 60 * 60 * 1000);
// 计算小时数
var hours = Math.floor(time_diff / (60 * 60 * 1000));
if(hours<0){
alert("加班结束时间不能早于加班开始时间");
return false;
}else{
document.getElementById("time3").value = hours;
}
}
function string2date(str){
var arr = str.split("-");
var year = arr[0];
var month = arr[1];
var day = arr[2].split(" ")[0];
var hour = arr[2].split(" ")[1].split(":")[0];
var min = arr[2].split(" ")[1].split(":")[1];
var second = 00;
if(month < 1 || month > 12){
alert("月份超出范围!");return false;
}
if((month == 4 || month == 6 || month == 9 || month == 11) && day == 31){
alert("该月没有"+day+"号!");return false;
}
if(month == 2){
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
if(day > 29 || (day == 29 && !isleap)){
alert("该月没有"+day+"号!");return false;
}
}
if(day < 1 || day > 31){
alert("该月没有"+day+"号!");return false;
}
if(hour < 0 || hour > 23){
alert("小时数无效!");return false;
}
if(min < 0 || min > 59){
alert("分钟数无效!");return false;
}
var temp = new Date(month + "/" + day + "/" + year + " " + hour + ":" + min + ":" + second);
return temp.getTime();
}
</script>
time1:<input type="text" value="2013-01-01 13:22" id="time1" />格式:YYYY-MM-DD HH:MM<br />
time2:<input type="text" value="2013-01-02 17:50" id="time2" />格式:YYYY-MM-DD HH:MM<br />
time3:<input type="text" value="" id="time3" onclick="getHours()"/>结果<br />
<button onClick="getHours()">计算相小时数</button><br />
</body>
</html>
分享到:
相关推荐
在JavaScript(JS)中,计算两个日期之间的差值是一项常见的任务,这可能涉及到...不过,根据上述信息,我们已经了解了JS计算日期差的基本方法。在实际编程中,还需要考虑时区、夏令时等因素,确保计算结果的准确性。
本篇文章将基于提供的代码片段来深入探讨如何使用JavaScript来计算两个日期之间的天数差。 #### 核心函数:`daysBetween(DateOne, DateTwo)` 此函数用于计算两个日期之间的天数差。参数`DateOne`和`DateTwo`都是...
#### 3.1 计算日期差(小时/天) 文件中还提供了一个`dateDiff`函数来计算两个日期之间的差值,以小时或天为单位: ```javascript function dateDiff(date1, date2) { var type1 = typeof date1, type2 = typeof ...
kettle中使用js计算两个日期之间的天数
这个JS能计算当前日期和指定日期的时间差
这是一个计算日期差,是用JS来写的,可以好好看看用用
使用js计算日期之间的差值不使用内置方法,无兼容问题,建议JS新手学习使用
JavaScript中,可以使用`Date`对象来计算日期差。通过创建两个`Date`实例并使用`getTime()`方法获取毫秒值,然后相减得到差值,再转换为天数。示例如下: ```javascript var date1 = new Date('2023-01-01'); ...
### 描述:“js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差js计算时间差” 虽然描述部分重复了“js计算时间差”这一短语,但从上下文中我们可以理解到,这段...
JavaScript中,使用`Date`对象获取当前时间,`getTime()`和`setTime()`方法计算日期差,`getDay()`返回的是0(周日)到6(周六),可以转换为1到7表示星期几。 示例代码: ```javascript var now = new Date();...
2. **计算日期差** - 使用 `Math.abs()` 函数获取两个日期对象之间的时间差(单位为毫秒)。 - 将毫秒转换为天数:`(objDate1 - objDate2) / (1000 * 60 * 60 * 24)`。 - 为了确保计算结果包含起始日期和结束日期...
### JS日期计算:掌握日期操作的艺术 在JavaScript中,日期计算是前端开发中常见的需求之一,无论是处理用户界面中的日期选择、数据统计还是时区转换,掌握日期对象及其方法都是必不可少的技能。本文将深入探讨如何...
js 特效 html 特效 计算两个日期之差 js 特效 html 特效 计算两个日期之差
总结来说,本文提供了两个使用JavaScript计算日期差的技巧。一个是基于日期字符串的计算,另一个是基于当前日期加上一定天数后的计算。这些技巧在实际开发中非常实用,特别是在处理涉及日期计算的场景。在使用这些...
纯js计算两日期间的天数差demo,直接可用。兼容IE8,火狐,谷歌。,亲测可用
在这种情况下,JavaScript社区开发了许多日期处理库,比如Moment.js、date-fns、Luxon等。这些库提供了更强大的功能,如时区支持、复杂的日期格式化、日期时间的加减操作、日期比较等。例如,Moment.js允许你用`...
Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期分割为数组 Date.prototype.DatePart 取日期的部分信息 Date.prototype.MaxDayOfDate 取日期所在月的最大...
本文介绍了如何使用JavaScript计算两个时间点之间的差值,并确保结果能精确到秒。通过解析日期格式、获取毫秒值、计算时间差以及转换成易于理解的形式等步骤,我们可以轻松实现这一功能。这些技术不仅适用于基本的...
这个是一个计算日期的控件,比JS自带的计算日期要准确且很强大。
JS版计算指定日期是当年的哪一周。 为了有分好下载,传上来换点分。