如何添加两个输入时间值并将其显示在另一个输入框中
How to add two input time values and display it in another input box?
我从用户那里得到两个持续时间,current time
和previous time
。现在,我想计算总时间,显示在第三个文本框上。
<p><span>Current Duration</span><input id="txt1" onblur="sum();" type="text" autocomplete="off" name="current_duration" value="" /></p>
<p><span>Previous Duration</span><input id="txt2" onblur="sum();" type="text" autocomplete="off" name="previous_duration" value="" /></p>
<p><span>Total Duration</span><input id="txt3" type="text" readonly autocomplete="off" name="total_duration" value="" /></p>
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('txt1').value;
var txtSecondNumberValue = document.getElementById('txt2').value;
var result = parseInt(txtFirstNumberValue) + parseInt(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('txt3').value = result;
}
}
</script>
我如何实现相同的?你们能帮帮我吗?
假设时间和分钟之间的分隔符为'。,这就行了。如果需要另一个分隔符,只需替换toTime()和fromTime()
中的字符<p><span>Current Duration</span><input id="txt1" onblur="sum();" type="text" autocomplete="off" name="current_duration" value="" /></p>
<p><span>Previous Duration</span><input id="txt2" onblur="sum();" type="text" autocomplete="off" name="previous_duration" value="" /></p>
<p><span>Total Duration</span><input id="txt3" type="text" readonly autocomplete="off" name="total_duration" value="" /></p>
<script>
function sum() {
var txtFirstNumberValue = document.getElementById('txt1').value;
var txtSecondNumberValue = document.getElementById('txt2').value;
var result = fromTime(txtFirstNumberValue) + fromTime(txtSecondNumberValue);
if (!isNaN(result)) {
document.getElementById('txt3').value = toTime(result);
}
}
function fromTime(time) {
var timeArray = time.split('.');
var hours = parseInt(timeArray[0]);
var minutes = parseInt(timeArray[1]);
return (hours * 60) + minutes;
}
function toTime(number) {
var hours = Math.floor(number / 60);
var minutes = number % 60;
return hours + "." + (minutes <= 9 ? "0" : "") + minutes;
}
</script>
JsFiddle
我从SO找到了这个。
你可以试试:
function sum()
{
var datetime = document.getElementById('txt1').value;
var txtSecondNumberValue = document.getElementById('txt2').value;
var datetime = new Date(datetime).getTime();
var now = new Date(txtSecondNumberValue).getTime();
if( isNaN(datetime) )
{
return "";
}
console.log( datetime + " " + now);
if (datetime < now) {
var milisec_diff = now - datetime;
}else{
var milisec_diff = datetime - now;
}
var days = Math.floor(milisec_diff / 1000 / 60 / (60 * 24));
var date_diff = new Date( milisec_diff );
return days + "d "+ (date_diff.getHours() - 5) + "h " + (date_diff.getMinutes() - 30) + "m";
}
相关文章:
- 根据输入显示窗体
- 无法根据用户在编辑窗口中的输入显示/隐藏jtable jquery字段
- 仅显示一条通用消息,而不是每个输入显示一条
- 如何从文本区域输入显示回车
- HTML 文本输入 * “值”;以不同的文本输入显示
- 轻量级 Javascript 表过滤器,以最少的字符输入显示结果
- 根据选定的单选按钮输入显示/隐藏 DIV
- 将表单输入显示为样式化字符串-Javascript
- 纸张输入显示输入和标签在彼此的顶部
- nvd3图表的csv输入显示错误(与时间格式有关)
- 输入显示不同的值在ng模型
- 在其他元素上进行输入显示
- 输入显示所有建议和强制选择建议
- 如何使输入显示在输出上
- 编程网页的建议,其中用户输入显示选定的图像
- 如何使两个不同的范围滑块输入显示相同的值,每当用户更新其中一个
- 为不同的用户输入显示不同的正则表达式消息
- 在Code Behind/ASP.net中基于用户输入显示模态对话框/确认框
- 如何使用预先输入显示图像.js
- Javascript:根据用户输入显示随机图像