• ベストアンサー

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

  • 【Access】できればクエリにて 日付(yyyy/mm/dd)+時間(hh:mm)の計算 

    いつもお世話になります。 フィールド「日付」:日付 (S) ~YYYY/MM/DD形式~ と フィールド「時間」:時刻 (S) ~HH/MM形式~ があります。 これらを合算し、 (1)日付 (標準)  ~YYYY/MM/DD HH:MM:SS形式~ (2)日付 (標準?) ~YYYY/MM/DD HH:MM形式~ にしたいのですが、 レコードの更新欄ではどのようにビルドさせればよろしいでしょうか? 教えていただけますでしょうか? よろしくお願いします。

  • MySQLのTimestamp(14)型のフィールドにYYYY/MM/DD hh:mm形式のデータをインサートするには

    MySQLのTimestamp(14)型のフィールドに YYYY/MM/DD hh:mm形式のデータをインサートするには どのようにしたらよいのでしょうか? MySQL の Timestamp(14)型(YYYY-MM-DD hh:mm:ss)のフィールドに YYYY/MM/DD hh:mm 形式のデータ(ssに該当するデータがない)を インサートするには、 PHPでどのようにしたらよいのでしょうか? できれば、インサートの際にssに自動的に00をつけたいです。 現在、PHPでinsert文を実行すると、データの桁数が足りないため、 フィールドの値は、0000-00-00 00:00:00になってしまいます。 同じ形式(YYYY/MM/DD hh:mm)のデータをphpMyAdminで インポートすると、自動的にssに00がつき、 YYYY-MM-DD hh:mm:ss(例 2009-10-20 12:10:00) となってくれます。 PHPでもphpMyAdminと同じ処理をしたいのですが、 インターネットで検索してもやり方が見つからず、 どのようにしたらよいのか、わかりません。。。 インサートするデータサイズが83MBと大きいので、 PHPで処理したいと思っています。 (phpMyAdminは8MBまでなので) ご存知の方がいましたら、教えていただけると、 助かります。m(_ _)m レンタルサーバー:さくら インサートするファイル:CSVファイル PHP 5.2.x MySQL 5.1 phpMyAdmin 3.1.3.1

    • ベストアンサー
    • MySQL
  • ACCESS 日付型でEXCEL出力 

    日付/時刻型の項目に yyyy/mm/dd hh:mm:ss(2007/01/11 12:10:33)の形で入っているのですが、 以下のような処理でEXCELにエクスポートすると・・・ strSQL = "SELECT Time AS 日時 FROM T_TIME" Set qryBuf = CurrentDb.CreateQueryDef(Q_Time, strSQL) DoCmd.TransferSpreadsheet acExport, , Q_Time, txtFileName, True EXCELの表示は「2007/01/11」と表示されてしまいます。 表示形式を変更すれば「2007/01/11 12:10:33」で表示されるのですが その手間は省きたいと思っています。 一発で「yyyy/mm/dd hh:mm:ss」の形式で出力する方法は無いでしょうか?

  • HTTP_Requestのレスポンスの受け取り方

    HTTP_Requestのレスポンスを、POST形式で受け取りたいのですが、どのようにするのでしょうか? サンプルソースには、単にechoで表示させているだけです。 結局、これを解析するほかないのでしょうか? 日付(yyyy-mm-dd hh:mm:ss)の半角空白は、+(プラス)で置き換えられるのでしょうか?

    • ベストアンサー
    • PHP
  • Access2007の日付/時刻型フィールドで、時を二桁にする書式

    お世話になります。 Access2007の日付/時刻型フィールドで、日時を「2007/07/09 01:22:33」というふうに表示させるにはどういう書式にしたらいいんでしょうか? 「yyyy/mm/dd hh:nn:ss」と入れてみたのですが、時が一桁だと一桁になってしまいます。 ヘルプの「hh」のところには「時を 2桁の数字で表示します (00 ~ 23)。」と書いてありますが、「h」の場合と同じようになってしまいます。 時も二桁にする書式を教えてください。よろしくお願いします。

  • 時間の計算の方法

    2つのStr(time1、time2)に「yyyy/mm/dd hh:mm:ss」の形で データが入っていて、time2 - time1をtime3に「hh:mm:ss」に フォーマットして入れたいのですが、 VBの場合、  new1 = CDate(time1)  new2 = CDate(time2)  new3 = new2 - new1  time3 = Format(new3, "hh:mm:ss") で可能だと思いますが、ASPの場合はどのようにすればいいのですか? Formatを認識しないらしく、文字化けしてしまうので、 どなたか教えてください。よろしくお願いします。 まだASP歴、3日目なもので。。。。

  • 日付型→文字列

    SQLServer2005の環境にて、 日付型の項目(YYYY/MM/DD HH:MM:SS)から日付のみを抽出したい場合、 現在SUBSTRING(CONVERT(VARCHAR,AA),1,10) と変換を行っているのですが、結果が「MM DD YYYY」となってしまいます。 「YYYY/MM/DD」の形式で取得するにはどのようなSQL文にすればよろしいのでしょうか。

  • 【PL/SQL】DATE型の時刻の表示と非表示

    PL/SQLでのDATE型の取扱いについて教えてください。 初期化パラメータNLS_DATE_FORMATが'YY-MM-DD'で、 ある列を'YYYY/MM/DD HH24:MI:SS'形式でDBにINSERTしたい場合、 dtWorkEndDate := to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS'); としてINSERTにdtWorkEndDateを用いると、 YY-MM-DD形式でDBに登録されてしまいます。 (dtWorkEndDateはDATE型。) ORACLEの設定かPL/SQLの問題なのかわからないのですが、 なにかアドバイスを頂けないでしょうか。 よろしくお願いします。

  • javaで時刻の判定

    String型のtimeに YYYY-MM-DD HH:MM:SS の形式である時刻が入っているとします. この時刻がYYYY年MM月DD日の20時00分00秒~23時59分59秒内であるかどうかを判定するにはどうしたらよいでしょうか? 文字列のままでは大小比較は困難な気がしますし、GregorianCalendar型もみてみたのですが、いまいち大小比較の仕方がわかりませんでした。 よろしくおねがいします

  • Accessの日付フィールドデータの取得について。

    VbScriptでオブジェクトに、Accessの日付フィールドデータを取得するのですが、その際、 "YYYY/MM/DD HH:MM:SS" の形式で取得するにはどのようにしたらよいのでしょうか。 よろしくお願いします。