【发布时间】:2018-11-30 09:02:45
【问题描述】:
我有一个表格,可以计算时间之间的小时数和分钟数。我想将结果转换为计算值,例如 1 小时 30 分钟是结果 1,5。现在我得到结果 1,3。我现在需要计算并写下来。
我找到了一些转换器,但目前无法计算,因此不适合我的需要。
我还希望用户看到我的代码显示的小时数和分钟数。我知道我只能用 0,6 分割秒,然后在选择选项 0,25 而不是 0,15 中显示。这不是一个选项。
- Ura pričetka - 开始时间,
- Ura končanja - 结束时间,
- Nadure - 它只是计算某个值之上的值,
- Ure - 目前必须计算和转换的结果
我正在用java计算。
代码:
<td align="left">Ure </td>
<td align="left"><input name="ure" id="ure" type="text" onchange="updatesum()"/></td>
</tr>
<tr>
<th align="right">Ura pričetka </th>
<td align="left"><select name="urap" id="urap" type= "time" onChange="updatesum()" value="9.00"/>
<OPTION>
<?php for($hours=0; $hours<24; $hours++) // the interval for hours is '1'
for($mins=0; $mins<60; $mins+=15) // the interval for mins is '15'
echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).'.'
.str_pad($mins,2,'0',STR_PAD_LEFT).'
</option>'; ?></OPTION></td>
<td align="left">Nadure </td>
<td align="left"><input name="nadure" id="nadure" type="text" onchange="updatesum()" /></td>
</tr>
<tr>
<th align="right">Ura končanja </th>
<td align="left"><select name="urak" id="urak" type= "time" onChange="updatesum()" value=""/>
<OPTION>
<?php for($hours=0; $hours<24; $hours++) // the interval for hours is '1'
for($mins=0; $mins<60; $mins+=15)
// the interval for mins is '15'
echo '<option>'.str_pad($hours,2,'0',STR_PAD_LEFT).'.'
.str_pad($mins ,2,'0',STR_PAD_RIGHT).'
</option>';
?>
</OPTION>
</td>
<script type="text/javascript">
function updatesum() {
document.loginForm.ures.value = (document.loginForm.urak.value -0) - (document.loginForm.urap.value -0);
$ures = loginForm.ures.value;
if (loginForm.ures.value > <?php echo $test ?>) {
loginForm.ure.value ='<?php echo $test ?>'
loginForm.nadure.value = (document.loginForm.ures.value -0) - (document.loginForm.ure.value -0);
}
if (loginForm.ures.value <= <?php echo $test ?>) {
loginForm.ure.value = loginForm.ures.value
loginForm.nadure.value = (document.loginForm.ures.value -0) - (document.loginForm.ure.value -0);
}
};
</script>
<input type="text" name="ures" onChange="updatesum()"/>
【问题讨论】:
-
Java 到底与您的问题有什么关系?
-
我在java中计算。我不是真正的专家,如果我犯了任何错误,请见谅。
-
我不确定你的 PHP 代码是否有用。您可能希望以较短的形式传达其中的重要信息,或者如果您认为值得包含,那么至少缩进很好,这样我们就可以轻松阅读它。
-
顺便说一句,小数表示时间跨度的方式很糟糕。考虑使用ISO 8601 standard for durations 中的文本。 java.time 类
Period和Duration在解析/生成字符串时默认使用这些标准格式。 -
@BasilBourque 为了完整起见,根据您的链接“使用的最小值也可能有小数,如“P0.5Y”表示半年。”因此,
PT1,5H在 ISO 8601 中被接受为一个半小时(尽管 Java 的Duration类无法解析或生成它)。我会让提问者决定他/她的网络应用程序中是否真的需要小数小时。