在 Javascript 中以 24 小时时间格式计算时间差异
Calculating difference in times in 24 hour time format in Javascript
我如何通过Javascript以HHMM格式计算两次之间的持续时间。
-
输入格式将始终为 HHMM
-
输入时间将始终为同一天。
感谢您的投入。
-------------------蹩脚的诱惑--------------------
<html>
<div>
STA:<input type="text" id="STA" onClick="timed();"> ATA: <input type="text"
id="ATA"onClick="timed();">
DIFF: <input type="text" id="DIFF" onClick="timed();">
</div>
<div></div>
</html>
<script>
function timed(){
var x=0;
var y=0;
var o=0;
var l=0;
var a=0;
var b=0;
o=document.getElementById("STA").value;
l=document.getElementById("ATA").value;
a=o/100;
b=l/100;
x=a.split('.');
y=b.split('.');
document.getElementById("DIFF").value=x[0]-y[0]+":"+x[1]-y[1];
}
</script>
看看这个脚本:
它使用您所说的 HHMM 格式提供的输入工作。
function timed(){
var time1 = document.getElementById("STA").value;
var time2 = document.getElementById("ATA").value;
if ( time1.match(/^[0-9]{4}$/g) && time2.match(/^[0-9]{4}$/g) )
{
//lets calculate the difference. But values consist of four digits.
var time1Seconds = toSeconds(time1.substr(0,2), time1.substr(2));
var time2Seconds = toSeconds(time2.substr(0,2), time2.substr(2));
if (!time1Seconds || !time2Seconds)
{
//input is not correct.
return false;
}
var difference = time1Seconds - time2Seconds;
if (difference < 0)
{
difference = Math.abs(difference);
}
var hours = parseInt(difference/3600)
hours = hours < 10 ? "0" + hours : hours;
var minutes = parseInt((difference/3600) % 1 *60)
minutes = minutes < 10 ? "0" + minutes : minutes;
document.getElementById("DIFF").value = hours + ":" + minutes;
}
}
function toSeconds(hours, minutes)
{
var seconds = 0;
if ( (hours >= 0 && hours < 24) && (minutes >= 0 && minutes < 60))
{
seconds += (parseInt(hours)*3600) + (parseInt(minutes)*60);
return seconds
}
else
{
return false;
}
}
它是如何工作的。它从输入中检索值。然后,它会检查两个输入是否具有正好 4 位数字长度的数字输入。如果不是,此函数不会返回任何内容。
其次,将字符串分成两部分。两个输入的小时和分钟。使用 toSeconds
将它们转换为秒。此函数检查小时和分钟是否有效,如果不是,此函数返回 false。当两个转换时间都不为 false 时,函数将继续。它相互减去值。如果该值小于零,则将其转换为正数。然后将秒转换回小时和分钟,并显示在差分输入中。享受。
相关文章:
- 如何使用javascript或html下载PDF格式的填写表单
- 货币代码为欧元-金额的格式不应包含小数
- 根据元素和容器大小计算边距
- Json数据包含日期和时间格式
- 以HH:mm格式计算时差
- 以日期计算的天数更改日期格式
- 在Javascript中用YYYY-mm-dd格式计算年龄
- 使用dd/mm/yyyy格式计算两个日期之间的差异-dons't account for years
- 计算高图表中的百分比和格式
- 以 HTML 格式显示计算结果 (javascript)
- 在 Javascript 中以 24 小时时间格式计算时间差异
- 如何计算 24 小时格式的两个时间之间的差异
- Javascript 中的总计计算,用于处理货币格式(MinusSignNegative)
- 在 Javascript 中转换日期格式并计算两个日期之间的差异
- 计算两个给定时间的以毫秒为单位的时间差;DD/MM/YYYY HH:MM:ss:ms”;javascript格式
- 根据出生日期计算年龄,日期格式为年月日
- 以完整格式显示时间计算
- 输入日期格式mm/yyyy计算月份jquery
- JavaScript Date()格式和计算
- 在自执行函数中使用javascript计算经过的年份(XXXX格式)