【问题标题】:Display time calculation in full format以完整格式显示时间计算
【发布时间】:2016-10-21 11:33:38
【问题描述】:

我有一个小型时间计算器,可以从 24 小时时间中减去分钟数,例如从 13:30 开始的 22 分钟等于 13:08,但是,我的网页没有显示“13:08”,而是显示“13:8”,无论如何都让它显示“13:08 “?

Javascript:

function myFunction() {

function converToMinutes(s) {
    var c = s.split(':');
    return parseInt(c[0]) * 60 + parseInt(c[1]);
}

function parseTime(s) {
    return Math.floor(parseInt(s) / 60) + ":" + parseInt(s) % 60
}


var endTime = document.getElementById("etime").value; 
var startTime = converToMinutes(document.getElementById("stime").value);
var converted = parseTime(startTime - endTime);


document.getElementById('finishtime').innerHTML = converted;

}

HTML:

<p>Please enter minutes</p>
<input type="text" id="etime">
<br>
<p>Please enter time in 24 hour format (eg. 15:00)</p>
<input type="text" id="stime">
<br>
<br>
<button onclick="myFunction()">Try it</button>

<p id="finishtime">

【问题讨论】:

  • 您想检查分钟是否小于 10,因此您可以在该值前面放置一个 0
  • ('0'+(parseInt(s) % 60)).slice(-2)

标签: javascript html time format


【解决方案1】:

替换

return Math.floor(parseInt(s) / 60) + ":" + parseInt(s) % 60;

var seconds = parseInt(s) % 60;
return Math.floor(parseInt(s) / 60) + ":" + ((seconds < 10)?"0"+seconds:seconds);

【讨论】:

    【解决方案2】:

    function myFunction() {
    
    function converToMinutes(s) {
        var c = s.split(':');
        return parseInt(c[0]) * 60 + parseInt(c[1]);
    }
    
    function parseTime(s) {
        return Math.floor(parseInt(s) / 60) + ":" + parseInt(s) % 60
    }
      function parseTime2(s) {
        return Math.floor(parseInt(s) / 60) + ":0"+ parseInt(s) % 60
    }
    
    
    var endTime = document.getElementById("etime").value;
      
    var startTime = converToMinutes(document.getElementById("stime").value);
     
      var a= (startTime - endTime)%60;
      var converted
      if(a>10){
     converted = parseTime(startTime - endTime);
      }
      else{
      converted = parseTime2(startTime - endTime);
      }
    
    
    document.getElementById('finishtime').innerHTML = converted;
    
    }
    <p>Please enter minutes</p>
    <input type="text" id="etime">
    <br>
    <p>Please enter time in 24 hour format (eg. 15:00)</p>
    <input type="text" id="stime">
    <br>
    <br>
    <button onclick="myFunction()">Try it</button>
    
    <p id="finishtime">

    【讨论】:

      【解决方案3】:

      function myFunction() {
      	function converToMinutes(s) {
      	  var c = s.split(':');
      	  return parseInt(c[0]) * 60 + parseInt(c[1]);
      	}
      	function parseTime(s) {
      	  var seconds = parseInt(s) % 60;
      		return Math.floor(parseInt(s) / 60) + ":" + ((seconds < 10)?"0"+seconds:seconds);
      	}
       	var endTime = document.getElementById("etime").value; 
      	var startTime = converToMinutes(document.getElementById("stime").value);
      	var converted = parseTime(startTime - endTime);
      	document.getElementById('finishtime').innerHTML = converted;
      }
      <p>Please enter minutes</p>
      <input type="text" id="etime" placeholder="Please enter minutes" value="22">
      <br>
      <p>Please enter time in 24 hour format (eg. 15:00)</p>
      <input type="text" id="stime" placeholder="Please enter time formate (eg. 15:00)" value="13:30">
      <br>
      <br>
      <button onclick="myFunction()">Try it</button>
      
      <p id="finishtime"></p>

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多