2011-07-11 1 views
0

私はJavascriptをDate.jsとともに使用しており、文字列の表現を変換する必要があります。Javascript特定のフォーマットの書き込み時間

私は、この形式の回で始めている:

 
3:00am 
2:30pm 
11:00am 

...と、この形式でそれらを配置する必要があります。

 
03:00:00 
14:00:00 
11:00:00 

私は(Date.parse始まると考えていました)し、時、分、秒を印刷します。しかし、これを行うためのよりエレガントな方法があるかどうか疑問に思っていたDate.format("HH:MM:SS")

どうすればよいですか?

ありがとうございます!

編集::::

あなたはDate.jsと書式指定子を使用することができますように見えます:http://code.google.com/p/datejs/wiki/FormatSpecifiers

Date.parse("3:00am").toString("HH:mm:ss"); 
+0

ああ、あなたはそれを解析して動作するようになりました!良いですね。私はparseExactでしかできませんでした。あなたはあなた自身の質問に答えました。 –

+1

間違ったバージョンのDate.jsをダウンロードする際に問題がありました。最新のバージョンを入手するには、メインサイトにないこの特定の領域からダウンロードする必要があります:http://datejs.googlecode.com/svn/trunk/build/date-en-US.js –

答えて

1

私はこれがあると信じてOPが探している答え。ここでのフォーマット指定子に:-)

<html> 
    <head> 
    <title>Show US Times in 24h form with Date.js</title> 
    </head> 
    <body> 
    <script type="text/javascript" src="date.js"></script> 
    <script> 
     var d = Date.parseExact("2:30pm", "h:mmtt"); 
     document.write(d.toString("HH:mm:ss")); 
    </script> 
    </body> 
</html> 

情報:http://code.google.com/p/datejs/wiki/FormatSpecifiers

3

The answer to all your questions

<script type="text/javascript"> 
<!-- 

var d = new Date(); 
var curr_hour = d.getHours(); 
var curr_min = d.getMinutes(); 
var curr_sec = d.getSeconds(); 

document.write(curr_hour + ":" + curr_min + ":" + curr_sec); 

//--> 
</script> 
+0

これは時間と分は常に文字を使用していますか? ( "2"の代わりに "02") –

+1

これはDate.jsを使用せず、元の文字列を解析したり、1桁の分や秒をパディングしたりもしません。 –

+1

しかし、それを行う方法についての明確な見解を示しています。ここからは、例えば、必要なときに先行ゼロを追加する機能を追加するのは簡単です。 'if(curr_min <10){curr_min = '0' + curr_min; } 'など – Jules