• ベストアンサー

Date();でゲットした年月日時分秒の書式を変更したい

http://www.rc-net.jp/search/time_js.html この上段サンプルですと、 yyyy/m/d H:M:S 形式で書き出されるのですが、 yyyy/mm/dd HH:MM:SS 形式で書き出すには どう書き直したらいいでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • leap_day
  • ベストアンサー率60% (338/561)
回答No.3

こんにちは 参考サイトのをそのまま使うのであれば <script type="text/javascript"><!-- //18:42 2006/05/10 +0900 //Copyright:http://www.rc-net.jp/search/ window.onload=function() { Realdate(); } timerID = 0; var dayarray=new Array("日","月","火","水","木","金","土"); function Realdate() { var realdate = new Date(); var fyear = realdate.getFullYear(); var month = realdate.getMonth()+1; month = month<10?"0"+month:month; var days = realdate.getDate()<10?"0"+realdate.getDate():realdate.getDate(); var day = realdate.getDay(); var hour = realdate.getHours()<10?"0"+realdate.getHours():realdate.getHours(); var minute = realdate.getMinutes()<10?"0"+realdate.getMinutes():realdate.getMinutes(); var second = realdate.getSeconds()<10?"0"+realdate.getSeconds():realdate.getSeconds(); var rdate = fyear+"年"+month+"月"+days+"日"+dayarray[day]+"曜日"+hour+"時"+minute+"分"+second+"秒"; document.getElementById("clock").innerHTML = rdate; clearTimeout(timerID); timerID = setTimeout("Realdate()",1000); } //--></script> </head> <body> 現在の時刻<div id="clock"></div> のように10より小さければ先頭に『0』を追加するしかないかも・・・

litton101
質問者

お礼

leap_dayさん、ご回答ありがとうございました。 動作結果だけみると完璧に望んでいたものです。 ありがとうございます。 10以下ならゼロを追加するというやりかたなんですね。 動作的には力技の部類なのでしょうか。 でも、心から望んでいた結果なので、 そのまま使わせていただきます。ありがとうございました。

その他の回答 (2)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

自分がよく使うのは、こんなコード: <script type="text/javascript" language="JavaScript"> Number.prototype.t0s = function( wdt ){ return ('0000000000000000'+this).slice( -wdt ); } Date.prototype.strftime = function( f ){ var y, m , d, h, n, s; with ( this ){ y = getFullYear(); m = getMonth() + 1; d = getDay(); h = getHours(); n = getMinutes(); s = getSeconds(); } f = f.replace( /YYYY/, y.t0s( 4 ) ).replace( /YY/, (y % 100 ).t0s( 2 ) ).replace( /Y/, y ); f = f.replace( /mm/, m.t0s( 2 ) ).replace( /m/, m ); f = f.replace( /dd/, d.t0s( 2 ) ).replace( /d/, d ); f = f.replace( /HH/, h.t0s( 2 ) ).replace( /H/, h ); f = f.replace( /MM/, n.t0s( 2 ) ).replace( /M/, n ); f = f.replace( /SS/, s.t0s( 2 ) ).replace( /S/, s ); return f; } Date.prototype.fmt = function(){ return this.strftime( 'Y/mm/dd HH:MM:SS' ); } document.write( (new Date).fmt() ); </script> 結構手抜きですが。

litton101
質問者

お礼

osamuyさん、ご回答ありがとうございました。 コードまでご提示いただき恐縮です。 早速導入してみたのですが、秒数がリアルタイムで 更新されるようですともっと嬉しいです、 もちろん、大変参考になりました。 心より御礼申し上げます。

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

・ 標準では装備されてないようです。 ・ 以下のページを参考にしてみてください。 http://www.enjoyxstudy.com/javascript/dateformat/

litton101
質問者

お礼

autyさん、早速ご回答ありがとうございました。 難しそうなライブラリを使えばできそうなんですね・・・ 勉強します。ありがとうございます。

関連するQ&A