Javascript时间计算从昨天到明天
Javascript time calculating from yesterday to tomorrow
让我来解释一下。我在一个网站上工作,人们记录他们做某事的时间。问题是当某人从23:00到2:00做某事时。我现在的脚本显示是-21小时。
第二个问题是它以小数计算分钟。例如,1:15是1,25。这不是什么大问题,但我的第二个问题是,我能在几分钟内得到结果吗?
对于我的主要问题,我如何设置一个条件,如果从一天到另一天计算24-$result else计算正常?
这是我现在的文件:
$(function() {
$("#check").click(function() {
var start = $(".preveri_ure").val();
var end = $(".preveri_ure_2").val();
s = start.split(':');
e = end.split(':');
min = e[1]-s[1];
hour_carry = 0;
if(min < 0){
min += 60;
hour_carry += 1;
}
hour = e[0]-s[0]-hour_carry;
min = ((min/60)*100).toString()
diff = hour + "," + min.substring(0,2);
$("#show").text("Task lasted for : " + diff + "hours");
});
编辑:开始和结束小时由用户在输入字段中输入,格式如下:开始:7点定于今年
结束而且时差总是小于24小时。所以不需要日期
如果第一个小时比第二个小时大,则加上第二个24小时。
一个更好的解决方案是从每个JavaScript Date对象中创建一个并减去。
完全同意@Scott Marcus的观点。如果有完整的日期,而不是只有小时和分钟,比较起来更容易。
但是从@Studio DnB的角度来看,让我们考虑开始时间和结束时间属于同一天。
起始时间必须小于结束时间。这里是代码
var tempStartDate = new Date(); // just inintialise start and end date
var tempEndtDate = new Date();
s = date1.split(':');
e = date2.split(':');
tempStartDate.setHours(s[0], s[1], 0); // set Hours and Minutes for start and end date
tempEndtDate.setHours(e[0], e[1], 0);
var startTime ;
var endTime ;
// compare to make start time less then end time always for same day log
if (tempEndtDate.getTime() > tempStartDate.getTime()){
endTime = tempEndtDate.getTime();
startTime= tempStartDate.getTime();
}
else {
endTime = tempStartDate.getTime();
startTime= tempEndtDate.getTime();
}
var difference = endTime - startTime;
var hoursDifference = Math.floor(difference/1000/60/60);
difference -= hoursDifference*1000*60*60
var minutesDifference = Math.floor(difference/1000/60);
difference -= minutesDifference*1000*60
示例在https://jsfiddle.net/fNPvf/32377/
我将要求用户输入日期和时间,并使用Javascript UTC将特定的dateTime转换为1970年1月1日以来的秒数。http://www.w3schools.com/jsref/jsref_utc.asp然后计算startDate - endDate并转换为分钟。
相关文章:
- CasperJS(phantom 1.9.7),从昨天起就无法连接https
- Datepicker Javascript明天无法获取's日期
- 如何在JavaScript中以天、dd/mm/yyyy格式显示昨天的日期
- Bootstrap DatePicker-将日期设置为明天
- 为什么将新日期设置为今天会返回昨天
- 显示昨天's日期
- 如何获得明天's使用javascript for selenium IDE的日期
- 昨天,我的Date.now()溢出了,我在Google上找不到任何相关结果
- 如何计算给定日期是今天的日期还是昨天的日期
- Javascript:将新日期设置为明天上午8点
- 将日期添加到日期以使明天成为当前日期 - Javascript
- 如何在 JavaScript 中显示明天的完整日期
- 几天后,昨天停止工作jQuery
- 使用jQuery获取明天的日期并进行比较
- 如果日期是今天的日期,则显示“今天”或“昨天”
- 无法将昨天的日期设置为剑道UI日期选择器
- 猫鼬.js在数据库中找到昨天的日期
- 明天的动态javaScript日期指示日期
- Moment.js:让一天与今天相关(即“明天、今天、昨天等”)
- Javascript时间计算从昨天到明天