将分钟添加到输入字段并显示小时/分钟

时间:2013-04-23 18:11:50

标签: jquery time

我有一个简单的输入字段,允许用户输入他们当天工作的分钟数。有没有办法,一旦他们将详细信息输入此字段,我可以在输入旁边显示一个显示时间的小时和分钟?

3 个答案:

答案 0 :(得分:3)

var m = $('#input').val();
var hours = Math.floor(m / 60);
m = m % 60;

$('#someDiv').text('hours: ' + hours + 'minutes: ' + m);

答案 1 :(得分:0)

您可以执行此操作以hh:mm格式获取小时/分钟:

HTML:

<input type="text" id="mins" />
<span id="hm"></span>

JavaScript的:

$('#mins').change(function(){
    var h = Math.floor( $('#mins').val() / 60);
    h = "0" + h;
    h = h.substr(h.length - 2, 2);
    var m = Math.floor( $('#mins').val() % 60);
    m = "0" + m;
    m = m.substr(m.length - 2, 2);

    $('#hm').html(h + ':' +m);
});

Jsfiddle example

答案 2 :(得分:0)

一些简单的数学和格式化应该可以帮助你。

function getTimeStringFromMinutes(m) {
    var hours = Math.floor(m/60);
    var seconds = (m - Math.floor(m)) * 60;
    minutes = Math.floor(m % 60);
    var output = (hours < 10 ? '0'+hours : hours) + 
                 ":" + 
                 (minutes < 10 ? '0'+minutes : minutes) + 
                 ":" + 
                 (seconds < 10 ? '0'+seconds : seconds);
    return output;
}
// getTimeStringFromMinutes(128.5) --> "02:08:30"
// getTimeStringFromMinutes('128.5') --> "02:08:30"

(PS不要害怕三元运算符,它们只是动态值的形式: condition:valueIfTrue:valueIfFalse