如何在JavaScript中将时间转换为十进制数? [英] How can I convert time to decimal number in JavaScript?

查看:109
本文介绍了如何在JavaScript中将时间转换为十进制数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我懒得在每个月底的时候填写我的工作时间表,所以我开始在PDF表单中添加一些功能。 Acrobat Pro提供使用JavaScript进行高级计算,但我遇到了这个问题。

I'm too lazy to fill out my time sheet at work by the end at the end of every month, so I've started adding some functions to our PDF form. Acrobat Pro offers to make advanced calculations using JavaScript, but I'm stuck with this problem.

我有两个字段,我在其中输入开始/结束工作的时间。我想计算我的加班时间并在第三个字段中输出结果。但是,我希望输出为十进制,所以当我加班半小时后,结果将是0.5

I have two fields in which I enter the time when I start/end working. I want to calculate my overtime and output the result in a third field. however, I want the output to be decimal, so when I make half an hour overtime, the result would be 0.5

示例:我的工作时间是8.5小时,我开始7.30并在16.00(下午4点)结束。

Example: my work time is 8.5 hours, I start a 7.30 and finish at 16.00 (4 pm).

到目前为止我的代码:

var workTime = this.getField ("Work time").value;
var startTime = this.getField ("Start time").value;
var endTime = this.getField ("End time").value;

event.value = workTime - (endTime - startTime);


推荐答案

单独的小时和分钟,将分钟除以 60 ,加上小时。

Separate hours and minutes, divide minutes by 60, add to hours.

function timeStringToFloat(time) {
  var hoursMinutes = time.split(/[.:]/);
  var hours = parseInt(hoursMinutes[0], 10);
  var minutes = hoursMinutes[1] ? parseInt(hoursMinutes[1], 10) : 0;
  return hours + minutes / 60;
}

这篇关于如何在JavaScript中将时间转换为十进制数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆