【发布时间】:2020-01-20 12:40:37
【问题描述】:
我需要:
XX:01 到 XX:14 向下舍入到 XX:00
XX:15 到 XX:29 向上舍入到 XX:30
XX:31 到 XX:44 向下舍入到 XX:30
XX:45 到 XX:59 向上舍入到 (XX+1):00
注意事项:
- 我在代码中只给出了两个案例,最终我有更多的案例
- 例如,我在代码中添加了未使用的附加输入,它们无效
- 他们必须自动检查是否已输入。
我的代码html:
<table>
<tr class="day">
<td class="forUser1"><input type="time" class="start" id="start_1"></td>
<td class="forUser2"><input type="time" class="end" id="end_1"></td>
</tr>
<tr class="day">
<td class="forUser1"><input type="time" class="start" id="start_2"></td>
<td class="forUser2"><input type="time" class="end" id="end_2"></td>
</tr>
</table>
我试过了:
funtion dist (parting) {
dist = parting.split(":");
const distDate = new Date(0, 0, 0, dist[0], dist[1], 0);
(...)
}
document.querySelector('table').addEventListener('change', function(e) {
const classList = e.target.classList
if (classList.contains('start') || classList.contains('end')) {
const tr = e.target.parentNode.parentNode
const [start, end] = [...tr.querySelectorAll('.start,.end')]
(...)
}
})
本以为这次应该分成单独的部分,但老实说我会想尽一切办法摆脱这种情况
【问题讨论】:
-
所以您想在提交数据时将它们四舍五入,或者您想在输入时间时在输入本身中对其进行四舍五入?
-
如果可以在输入时间的同时在输入中将其四舍五入
-
在 RobG 在 cmets 中的建议的帮助下,如果分钟在 44 到 60 之间,我对 if 语句进行了小幅更改以将小时四舍五入。请检查新编辑的逻辑。
标签: javascript html date datetime