JavaScriptで誕生日からの日数を表示する方法とカンマを入れる方法

このQ&Aのポイント
  • JavaScriptを使って誕生日からの日数を表示する方法と、表示された日数にカンマを入れる方法について教えてください。
  • 質問者はJavaScriptの初心者ですが、誕生日からの日数を表示するためのコードは見つけました。しかし、表示された日数にカンマを入れる方法や関連させる方法がわかりません。また、他のJavaScriptでも同じことを実現できる場合は、その方法も教えてほしいとしています。
  • 質問者が見つけたコードでは、誕生日からの日数を表示するためのコードと、日数にカンマを入れるためのコードが別々になっています。これらを関連させる方法や、他のJavaScriptを使った実現方法を教えてください。
回答を見る
  • ベストアンサー

誕生日からの日数を表示するJavaScriptに、カンマを入れる方法を

誕生日からの日数を表示するJavaScriptに、カンマを入れる方法を教えてください。 JavaScriptの初心者で、申し訳ありません。 誕生日からの日数を表示するJavaScriptと3桁の後にカンマを表示させるJavaScriptは、 それぞれ単独で見つけたのですが、関連のさせ方が分かりません。 誕生日からの日数を表示するJavaScriptは、以下のものです。 days の前後に文字表示をさせています。 この中の days を表示する時に、3桁の後にカンマを表示させたいのですが。 人の生きた日々ですので、万の単位までしか表示しません。 82歳で、30,000日くらいになります。 var tday=new Date(); var bday=new Date(1928,5-1,13); var ac="#ffffff"; var mark=""; var days=Math.ceil((tday.getTime()-bday.getTime())/(24*60*60*1000)); days=(days+"").fontcolor(ac); days=days.bold(); mark=mark.fontcolor(ac); document.write(mark+"いきて来た日々:"+days+"日"+mark); 文字列にカンマを入れる以下のJavaScriptも見つけました。 これと上のJavaScriptを関連させることで、誕生日からの日数にカンマを入れられるで しょうか? もし、できるのであれば、関連のさせかたを教えてください。 以下のものではダメなら、他のJavaScriptで目的を達成できるものを、教えてください。 str= value; for (i=0; i < str.length / 3 ; i++) { str= str.replace ( /^([+-]?\d+) (\d\d\d)/, "$1,$2"); } お願いします。

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

  • ベストアンサー
noname#118451
noname#118451
回答No.2

あまり美しくないソースにも思えるけど、面倒なのでそのまま合体修正してみました。 どうぞ。 <script type="text/javascript"> var tday=new Date(); var bday=new Date(1928,5-1,13); var days=Math.ceil((tday.getTime()-bday.getTime())/(24*60*60*1000)); var str=String(days); for (var i=0; i < str.length / 3 ; i++) { str=str.replace(/^([+-]?\d+)(\d\d\d)/, '$1,$2'); } str=(str+"").fontcolor(00); str=str.bold(); var ac="#ffffff"; var mark=""; mark=mark.fontcolor(00); document.write(mark+"いきて来た日々:"+str+"日"+mark); </script>

YOKOHAMA-Boy
質問者

お礼

imaimasan さま ありがとうございます。HTMLに組み込んだところ、希望通りにカンマが付加されました。 デザイン系の人間ゆえ、純プログラムは超初心者です。 別質問箱で、ループの後代入云々と言われ、必死に調べていました。 <script>~<script>間を、すべて記述いただき、感謝します。 今後、少しは勉強に励みますが、どうしてもHTML/CSS/Flash等の表現の方に時間を 取られてしまいます。 ありがとうございました。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

最初に出てきたdaysがvalueよね。 forループのあと、strをdaysに代入してあげれば良いわ。

関連するQ&A

  • 日数により表記を変えるには?

    いろいろと独学で調べたのですが、どうしても分からないので、もし分かる方がいらっしゃいましたらよろしくお願い致します。 今、ホームページを作成中で、日数カウンターを載せることには成功しましたが、 例  勉強開始から ○○ 日目 この日数カウンターの数字表記ではなく  1~50日の間は  「頑張りましょう」 という表記 51~99日の間は 「この調子で」 100~300の間は 「あともう少し」 301~  の間は  「良く出来ました」 勉強開始から 88 日目  (88日経過)    ↓ 勉強開始   この調子で  (88日経過) といった感じにしたいのですが、どこをどういじれば良いのかさっぱりわかりません どなたか分かる方がいらっしゃいましたら、どうかよろしくお願い致します 自分の、載せているプログラムはこんな感じです <div style="font-size:120%;text-align:right;"> <script type="text/javascript"> <!-- var tday=new Date(); var bday=new Date(1950,9-1,3); var ac="#0033ff"; var mark=""; var days=Math.floor((tday.getTime()-bday.getTime())/(24*60*60*1000)); days=(days+"").fontcolor(ac); days=days.bold(); document.write(days); // --> </script> </div>

  • それぞれの表記の色を変えるには?

    先日、日数カウンターの代わりに、表記を変えるには という質問をして、お答えを頂き、無事解決したのですが、また新たな壁にぶつかってしまいました・・・ <script type="text/javascript"> <!-- var tday=new Date(); var bday=new Date(2013,2-1,4); var days=Math.floor((tday.getTime()-bday.getTime())/(24*60*60*1000));if(days>=301){document.write("良く出来ました");} else if(days>=100){document.write("あともう少し");} else if(days>=51){document.write("この調子で");} else {document.write("頑張りましょう");} // --> </script> というプログラムで、 以下のように変更して、文字の色を変える事はできたのですが <font color="#0000ff"><script type="text/javascript"> <!-- var tday=new Date(); var bday=new Date(2013,2-1,4); var days=Math.floor((tday.getTime()-bday.getTime())/(24*60*60*1000));if(days>=301){document.write("良く出来ました");} else if(days>=100){document.write("あともう少し");} else if(days>=51){document.write("この調子で");} else {document.write("頑張りましょう");} // --> </script></font></td> 以下のように、その表記別に色を変える方法が分かりません 良く出来ました   赤 font color="#ff0000 あともう少し     青 font color="#0000ff この調子で     黄色 font color="#ffff00 どなたか、分かる方がいらっしゃいましたら、どうか宜しくお願い致します。

  • 「誕生日まであと○日です」

    <html> <head> <title>test</title> </head> <body> <SCRIPT LANGUAGE="javascript" TYPE="text/javascript"> <!-- var weeks = new Array('日','月','火','水','木','金','土'); var now = new Date(); var year = now.getYear(); // 年 var month = now.getMonth() + 1; // 月 var day = now.getDate(); // 日 var week = weeks[ now.getDay() ]; // 曜日 var hour = now.getHours(); // 時 var min = now.getMinutes(); // 分 var sec = now.getSeconds(); // 秒 if(year < 2000) { year += 1900; } // 数値が1桁の場合、頭に0を付けて2桁で表示する指定 if(month < 10) { month = "0" + month; } if(day < 10) { day = "0" + day; } if(hour < 10) { hour = "0" + hour; } if(min < 10) { min = "0" + min; } if(sec < 10) { sec = "0" + sec; } document.write('今日:' + year + '年' + month + '月' + day + '日'); // --> </SCRIPT> </body> </html> これで今日の日付けは表示できたのですが 誕生日が7/31なのですが document.writeで 「誕生日まであと○日です」 と表示するにはどうすれば良いでしょうか?

    • ベストアンサー
    • HTML
  • JavaScriptで、現在日時から100日後の日時を表示させるには?

    JavaScriptで、現在日時から100日後の日時を表示させるには? JavaScriptで、現在日時から100日後の日時を求め、表示させたいと思っています。 「現在日時を取得する方法」と、「それを表示形式へ変換する方法」は、わかっています。 しかし、「100日後の日時」を表示させる方法が分かりません。 もちろん、年・月・日をまたぐ場合にもちゃんと対応できることが前提です。 極力、単純な方法が理想です。 以下、コードです。ご教授よろしくお願いします。 function func() { var day = new Date(); var datestr = day.toLocaleString(); alert(datestr); }

  • javascriptでの時刻表示カスタム

    ホームページを作れと言われた普通のOLです。 htmlとcssは少しだけ触れますが、javascriptは......(T_T) 知人や知り合いの社員共々聞きましたが全滅です..... 本題ですが、javascriptで現在時刻を取得し、それをそれぞれの要素へ反映させたいです。 例えば、 <div class="smample">??月??日??時??分</div>←現在の時刻-3分 <div class="smample">??月??日??時??分</div>←現在の時刻-4分 <div class="smample">??月??日??時??分</div>←現在の時刻 <div class="smample">??月??日??時??分</div>←現在の時刻-15分 <div class="smample">??月??日??時??分</div>←現在の時刻-4分 という具合に表示できれば最高です。 基本的な時刻表示(下記記載のスクリプト)で試行錯誤しましたが、 ??月??日??時5分の場合、-6分とすると「分」の所の表示が0-1となってしまいます。 更に、-4分/-5分といった複数指定もできません。 javascriptにお詳しい方、どうかご教授下さい。 正直凄く困ってます。。。。 <script type="text/javascript"> var get_current_timestamp = function() { var weeks = new Array('日', '月', '火', '水', '木', '金', '土'); var d = new Date(); // 年月日・曜日・時分秒の取得 var month = d.getMonth() + 1; var day = d.getDate(); var week = weeks[ d.getDay() ]; var hour = d.getHours(); var minute = d.getMinutes() - 6; var second = d.getSeconds() + 10; // 1桁を2桁に変換する if (month < 10) {month = "0" + month;} if (day < 10) {day = "0" + day;} if (hour < 10) {hour = "0" + hour;} if (minute < 10) {minute = "0" + minute;} if (second < 10) {second = "0" + second;} // 整形して返却 return d.getFullYear() + "/" + month + "/" + day + "(" + week + ") " + hour + ":" + minute + ":" + second; } // 現在の日付・時刻を表示する document.write(get_current_timestamp()); </script>

  • 指定日まで画像カウントダウン表示一桁の残り日数を「01」のようにしたい

    指定日まで画像カウントダウン表示一桁の残り日数を「01」のようにしたい。当日以降は「00」で停止させたい ある指定日時までの画像カウントダウン表示を以下のようにjavascriptで作成して、残り日数の数字を imageファイルで表示しているのですが、残りが一ケタになったときに「02」「01」のようにする、 また、当日が来たら「00」で止まるようにしたいのですが方法がわかりません。 javascriptで上記のような仕様にすることは可能なのでしょうか。 よろしくお願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <script language="javascript"><!-- dir = "img/"; date1 = new Date(); date2 = new Date(2010, 11, 30); // YYYY, MM - 1, DD d = (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000); d = Math.abs(Math.ceil(d)); s = d.toString(); for (i = 0; i < s.length; i++) { document.write("<IMG SRC=\"" + dir + s.charAt(i) + ".gif\">"); } //--></script> </head> <body> <script src="js/date.js"></script>日 </body> </html>

  • JavaScript表示させる画像へリンクの貼り方

    初めて質問させていただきます。 JavaScript で、表示させた画像へのリンクの張り方を 教えていただきたいのです。 JavaScript のデータは、外部リンクになっています。 いろいろと見て回ったのですが、JavaScript に関しての知識不足で、 おそらく、調べきれていないのでは・・・とも思うのですが、 急ぎでどうしても必要ですので、教えていただきたいです。 よろしくお願いいたします。 // JavaScript Document //----開始日 YYYY/M/D 形式 半角数字で開始日指定 myStartDate="2012/9/14 16:29:00"; // 終了日 YYYY/M/D 形式 半角数字で終了日指定 myEndDate="2012/9/14 17:50:00"; //表示するHTML myHTML=("<img src='●●.jpg'>");  ←この画像にURLを付けたいです。 /******************************************************************/ myDate=new Date(); //現在の日付取得 mySD=new Date(myStartDate); myED=new Date(myEndDate); if(myDate.getTime()-mySD.getTime()> 0 && myED.getTime()-myDate.getTime()> 0){ document.write(myHTML); } ーーーーーーーーーーーーーーー <body> <div id="●●"> <script type="text/javascript" src="js/pr.js"></script> </div> </body>

  • エクセル関数で誕生日までの残りの日数を表示する方法は?

    エクセル関数で「=date()」で当日の年月日を表示できますが、次の誕生日までの残りの日数を自動表示させるには、どうしたらいいでしょうか?例えば、誕生日が2008年の6月14日だとして、教えていただければ幸いです。よろしくお願いいたします。

  • 誕生日までの残り日数

    excelのG1からG20に生年月日を入力してあります。F列には名前が入っています。 この生年月日を元に、次の誕生日までの日数を調べる方法を教えてください。 佐藤一郎 2000/8/26  Happy Birthday 鈴木次郎 1000/8/27 1 上のように残り日数が0のとき、つまり今日が誕生日の時はHappy Birthdayと表示させたいです。 また、今日が誕生日の時は 名前、生年月日、Happy Birthdayの文字のセルを青で塗りつぶしたいと思っています。 このようなことはできるのでしょうか? どうやっていいのかわからないので、教えてほしいです。よろしくお願いします。

  • プルダウンメニュー日付生成で月の変わり目について

    初心者です。 質問集をいろいろ探して日付生成できたのですが月末、月初がうまくいきません。 イヌでも・・やトホホ・・など探してますがマッチする情報が見つからないのでわかったら教えて下さい。 100にち分を表示するようにしてます。 このソースは短くてシンプルなので気に入ってます、 ======================================== <SCRIPT type="text/javascript"> window.onload = function() { var d, str, elm = document.getElementById('gdate'); var day = new Date(); day.setMilliseconds(24*60*60*1000); for (d=1; d<100; d++) { str = (day.getMonth() + 1) + '/' + (day.getDate() -1); elm.options[d] = new Option(str, str); day.setMilliseconds(24*60*60*1000); } } </SCRIPT><SELECT name="HIDUKE" id="gdate"> <OPTION>日付選択</OPTION> </SELECT> ======================================== あまり複雑にしないで解決する方法ありますか。