首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Javascript计算小时和分钟的差值,并将结果填充到另一个字段中

使用Javascript计算小时和分钟的差值,并将结果填充到另一个字段中
EN

Stack Overflow用户
提问于 2018-09-11 02:42:26
回答 1查看 37关注 0票数 0

我希望javascript将两个日期和时间字段组合在一起,然后减去第二组日期和时间字段,这样就可以在下一个字段中填充解决方案。

JS:

代码语言:javascript
复制
hours.onblur = function() { 
    var OutDateTimeValue = OutDateField.value + OutTimeField.value; 
    var InDateTimeValue = InDateField.value + InTimeField.value; 
    hours.value = InDateTimeValue - OutDateTimeValue; 
} 

HTML:

代码语言:javascript
复制
<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_date09/03/2018

block_out_time05:00

block_in_date09/12/2018

block_in_time21:17

Javascript是否可以使用以下内容填充小时字段:

232:17 (232 hours and 17 minutes)

此外,是否可以将此值与$1.80的速率相乘,并使用$418.11填充amount字段

EN

回答 1

Stack Overflow用户

发布于 2018-09-11 03:08:02

作为如何进行所需计算的想法,您可以使用以下代码

代码语言:javascript
复制
// 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);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52263686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档