Adobe Form Fill中通过JavaScript计算十进制工时的错误
首先,我要感谢他和他的家人 我是一家园林公司的领班,我的责任是填写每个场地的表格,并记录我们的工时,这样我们就不会超过规定的时间。我正试图用Adobe将文档数字化,这样我就可以不用纸笔在手机的字段中输入时间,并使用JavaScript代码以十进制格式自动计算现场的小时数 注意:我将使用24小时时间,即军事时间(13:00/1PM 16:40/4:40PM) Adobe中当前使用的JS代码未正确计算/转换时差: 这导致时间差的十进制计算不正确: 小时小数计算错误示例: 我应该提到的是,这些字段都是Adobe中唯一命名的表单填充字段,因此变量字段名为“周一站点#1开始时间、周一站点#1离开时间、MS1总小时数等: 我对JavaScript代码了解有限,因此非常感谢您的帮助!Adobe Form Fill中通过JavaScript计算十进制工时的错误,javascript,time,adobe,difference,calculation,Javascript,Time,Adobe,Difference,Calculation,首先,我要感谢他和他的家人 我是一家园林公司的领班,我的责任是填写每个场地的表格,并记录我们的工时,这样我们就不会超过规定的时间。我正试图用Adobe将文档数字化,这样我就可以不用纸笔在手机的字段中输入时间,并使用JavaScript代码以十进制格式自动计算现场的小时数 注意:我将使用24小时时间,即军事时间(13:00/1PM 16:40/4:40PM) Adobe中当前使用的JS代码未正确计算/转换时差: 这导致时间差的十进制计算不正确: 小时小数计算错误示例: 我应该提到的是,这些字段
var start = this.getField("Monday Site #1 Start Time").value;
var startArr = start.split(":");
// finish
var finish = this.getField("Monday Site #1 Depart Time").value;
var finishArr = finish.split(":");
// difference
var hourDiff = Math.abs(finishArr[0] - startArr[0]);
var minDiff = Math.floor((Math.abs(finishArr[1] - startArr[1]) / 59)*100);
if (minDiff.toString().length == 1)
minDiff = '0' + minDiff;
var output = hourDiff + "." + minDiff;
event.value = output;
if ((event.value == "") || (event.value == Infinity) || isNaN(event.value))
{event.value = "";}