我希望javascript将两个日期和时间字段组合在一起,然后减去第二组日期和时间字段,这样就可以在下一个字段中填充解决方案。
JS:
hours.onblur = function() {
var OutDateTimeValue = OutDateField.value + OutTimeField.value;
var InDateTimeValue = InDateField.value + InTimeField.value;
hours.value = InDateTimeValue - OutDateTimeValue;
}
HTML:
<tr>
<td align=\"right\"><b>Date:</b></td>
<td colspan=\"2\"> <input type=\"text\" id=\"block_out_date\" name=\"block_out_date\" size=\"10\" maxlength=\"7\" tabindex=\"2\" /></td>
<td align=\"right\"><b>Date:</b></td>
<td colspan=\"2\"><input type=\"text\" id=\"block_in_date\" name=\"block_in_date\" size=\"10\" maxlength=\"7\" tabindex=\"5\" /></td>
</tr>
<tr>
<td align=\"right\"><b>Out Time:</b></td>
<td colspan=\"2\"> <input type=\"text\" id=\"block_out_time\" name=\"block_out_time\" size=\"10\" maxlength=\"7\" tabindex=\"3\" /></td>
<td align=\"right\"><b>In Time:</b></td>
<td colspan=\"2\"><input type=\"text\" id=\"block_in_time\" name=\"block_in_time\" size=\"10\" maxlength=\"7\" tabindex=\"6\" /></td>
</tr>
<tr>
<td align=\"right\"><b>Hours:</b></td>
<td><input type=\"text\" id=\"hours\" name=\"hours\" size=\"10\" maxlength=\"7\" tabindex=\"8\" /></td>
<td align=\"right\"><b>Rate:</b></td>
<td><input type=\"text\" id=\"rate\" name=\"rate\" size=\"10\" maxlength=\"7\" value=\"1.80\" tabindex=\"9\" /></td>
<td align=\"right\"><b>Amount:</b></td>
<td><input type=\"text\" id=\"amount\" name=\"amount\" size=\"10\" maxlength=\"7\" tabindex=\"10\" /></td>
</tr>
如果....block_out_date
为09/03/2018
block_out_time
是05:00
block_in_date
是09/12/2018
block_in_time
是21:17
Javascript是否可以使用以下内容填充小时字段:
232:17 (232 hours and 17 minutes)
此外,是否可以将此值与$1.80
的速率相乘,并使用$418.11
填充amount字段
发布于 2018-09-11 03:08:02
作为如何进行所需计算的想法,您可以使用以下代码
// calculates total number of minutes between end and start, end > start;
function totalMinutes(start, end) {
return ((end.valueOf() - start.valueOf()) / 60000 + 0.5) | 0;
}
// convert minutes to text representation hhh:mm
function toHours(m) {
let hours = (m / 60) | 0;
let minutes = m % 60;
return hours + ":" + (minutes < 10 ? ("0" + minutes) : ("" + minutes));
}
let rate = 1.8;
let minutes = totalMinutes(new Date(2018, 8, 3, 5, 0, 0), new Date(2018, 8, 12, 21, 17, 0));
let amount = minutes / 60 * rate;
let text = toHours(minutes)
console.log("hours: " + text + " | rate: $" + rate + "/hour | amount: $" + amount);
https://stackoverflow.com/questions/52263686
复制相似问题