如何使用javascript格式化时间?

时间:2014-02-20 11:54:59

标签: javascript jquery

我想格式化用户输入的时间。我正在显示一个文本框,用户可以在其中输入时间。我想格式化这样的数字:

如果用户输入1,则格式如下:

 1.00 

如果用户输入11,则格式如下:

 11.00 

如果用户输入11:03,则格式如下:

 11.03 

如果用户输入111,则格式如下:

 1.11

如果用户输入1111,请格式如下:

11.11

怎么做?

3 个答案:

答案 0 :(得分:2)

我没有看到任何神奇的解决方案,你必须对你看到的逻辑进行编程。

这样做:

function a(s){
  return '00'.slice((''+s).length)+s;
}
function f(n){
  var bc = Math.floor(n/100), ac = n%100; // gets the two parts
  if (!bc) { // adjust if there's no right part
    bc = ac;
    ac = 0;
  }
  return a(bc)+'.'+a(ac);
}

测试:

[1, 11, 103, 1103, 1111].forEach(function(n){
  console.log(n, '->', f(n));
});

日志

1 "->" "01.00" 
11 "->" "11.00" 
103 "->" "01.03" 
1103 "->" "11.03"
1111 "->" "11.11" 

答案 1 :(得分:0)

答案 2 :(得分:0)

The below code is the working solution.

<html>
<head>
<title>time</title>
<script type="text/javascript">
function get()
{
var t=prompt("ente time");
var result=1.00;
if(t.length==4)
{
result=(parseFloat(t)/100)*1.00;

}
else if(t.length==3)
result=(parseFloat(t)/100)*1.00;
else if(t.length==2)
 result=t.concat(".00");
else if(t.length==1)
  result=t.concat(".00");

else if(t.indexOf(":")!=-1)
{
  result=t.substring(0,2)+"."+t.substring(3,5);
}
alert(result);

}
</script>
</head>

<body onLoad="get()">

</body>
</html>