
今は「生後○日になりました」というカウントアップのJavaScriptを使用しています。1歳の誕生日を迎たので「○歳△ヶ月と×日になりました」というものに変えたいと思っています。
いくつかのJavaScriptのサイトを探してみましたが、今使用しているカウントアップは見つかりますが、今回変えたいと思っているものが見当たりません。
「○歳△ヶ月と×日になりました」というJavaScriptのソースを教えてください。
子供は2003年3月1日生まれです。よろしくお願いいたします。

No.5ベストアンサー
- 回答日時:
返信見ました。
「△ヶ月」の表示ですが、前掲のスクリプトでは0になる単位の表示(0ヶ月、0日)を排除するように組んであります。 その結果として、今月は生まれ月にあたり0ヶ月となるため、今月分では表示されないようになっています。
3月以外の月では正常に表示されると思います。 試しに、
nm=now.getMonth();
となっている行の前に
now.setMonth(3);
という行を入れて試してみて下さい。 こうすると、現在時刻を4月にセットしなおすことができるので、4月に表示される内容をチェックすることができます。
もし、現状で1歳0ヶ月と13日というような表示にしたい場合は、
age=ageY+"歳";
if (ageM!=0){ age+=ageM+"ヶ月";}
if (ageD!=0){ age+="と"+ageD+"日";}
この部分を、
age=ageY+"歳"+ageM+"ヶ月と"+ageD+"日";
こちらの記述に置き換えて下さい。
参考になれば…

No.4
- 回答日時:
日齢の計算に少々難しいところがあるので、これが正確な値を示せているかどうかについての検証がまだ不十分なところがあるとは思いますが、とりあえず以下のようなソースではいかがでしょうか。
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
now=new Date();
birth=new Date("mar 1, 2003 00:00:00"); // ←誕生日を設定
ny=now.getYear();
by=birth.getYear();
ageY=ny-by;
nm=now.getMonth();
bm=birth.getMonth();
ageM=nm-bm;
nd=now.getDate();
bd=birth.getDate();
ageD=nd-bd;
if (ageD<0){
ageM--;
if (nm==0 || nm==2 || nm==4 || nm==6 || nm==7 || nm==9 || nm==11){
ageD+=31;
}
else if(nm==1){
if (ny/4==Math.floor(ny/4)){ ageD+=29;}
else { ageD+=28;}
}
else { ageD+=30;}
}
if (ageM<0){ ageY--; ageM+=12;}
age=ageY+"歳";
if (ageM!=0){ age+=ageM+"ヶ月";}
if (ageD!=0){ age+="と"+ageD+"日";}
// -->
</script>
</head>
<body>
<script type="text/javascript"><!--
document.write("○○は"+age+"になりました。");
//--></script>
</body>
</html>
見当違い・不具合がありましたら、ごめんなさい。
No.3
- 回答日時:
なんか、面白そうなので、私の方からも一つ・・。
但し、全く自信なし。
う~ん・・なんか違う気がするなー。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>誕生時カウントアップ サンプル</title>
<!-- *** ここから ***-->
<script type="text/javascript">
<!--
BirthCount=new Date();
YearA=BirthCount.getFullYear()-2004;
YearB=BirthCount.getFullYear()-2003;
Month=BirthCount.getMonth()+1;
Day=BirthCount.getDate();
//-->
</script>
<!-- *** ここまでをHEADタグ内に入れます *** -->
</head>
<body>
<!-- $$$ ここから $$$ -->
<script type="text/javascript">
<!--
if(Month>=3){
document.write("今日で",YearB,"歳"); /* ←その年の誕生日前の年表示と文字列 */
}
else if(Month<3){
document.write("今日で",YearA,"歳"); /* ←その年の誕生日後の年表示と文字列 */
}
if(Month==12){
document.write("9"); /* ←表示される月 */
}
else if(Month==11){
document.write("8"); /* ←表示される月 */
}
else if(Month==10){
document.write("7"); /* ←表示される月 */
}
else if(Month==9){
document.write("6"); /* ←表示される月 */
}
else if(Month==8){
document.write("5"); /* ←表示される月 */
}
else if(Month==7){
document.write("4"); /* ←表示される月 */
}
else if(Month==6){
document.write("3"); /* ←表示される月 */
}
else if(Month==5){
document.write("2"); /* ←表示される月 */
}
else if(Month==4){
document.write("1"); /* ←表示される月 */
}
else if(Month==3){
document.write("0"); /* ←表示される月 */
}
else if(Month==2){
document.write("11"); /* ←表示される月 */
}
else if(Month<=1){
document.write("10"); /* ←表示される月 */
}
document.write("ヶ月と",Day,"日です"); /* ←表示される日と文字列 */
//-->
</script>
<!-- $$$ ここまでをBODYタグ内の表示させたい場所に入れます $$$ -->
</body>
</html>
もっと、綺麗にコンパクトに出来ますが、それ以前にこれでku_fullさんが求めているような表示をされるかですね。
PC内のシステムの年月日を色々と変えて、動作チェックしてみて下さい。
この回答への補足
できました!!ありがとうございます。
もっと綺麗ににコンパクトにするとどうなるのでしょうか??とても気になります。ぜひ教えてください。
No.2
- 回答日時:
<script language="JavaScript"><!--
function mySet(){
myNow = new Date();
myBirth = new Date(2003, (3-1), 1);
myMsec = myNow.getTime()-myBirth.getTime();
myDay = Math.floor(myMsec / (1000*60*60*24));
document.myForm.myFormMes.value
= "生まれてから" + (myDay+1) + "日目になります";
}
// --></script>
で、良いのではないでしょうか?
No.1
- 回答日時:
この回答への補足
ありがとうございます。教えていただいたサイトを覗いてみました。
確かに私の希望するものはあるのですが、生まれた年月日を入力して計算するものでした。私が希望しているものは常にページの片隅に「○歳△ヶ月と×日になりました」と表示しておけるものなんです。
たぶん、教えていただいたサイトに載っているものをいじればできるとは思いますが、そこまでの知識は持っていないんです…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- その他(コンピューター・テクノロジー) 4勤2休のシフト作成 1 2022/12/15 15:38
- 誕生日・記念日・お祝い 誕生日とクリスマスの近い彼氏のプレゼントについて教えてください 彼の誕生日は12月の23日で付き合っ 1 2022/11/25 13:01
- JavaScript JavaScriptのif文について 3 2022/07/19 10:35
- 恋愛・人間関係トーク 男性心理を教えてください!!! 私は18歳の女子高生です。 3ヶ月前に付き合っていた彼氏がいます。 1 2022/11/01 02:07
- 誕生日・記念日・お祝い 誕生日とクリスマス400近い彼氏のプレゼントについて教えてください 彼の誕生日は12月の23日で付き 4 2022/11/25 08:49
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
window.openでタイトル名の指定
-
引数を渡さずに呼び出し元の変...
-
リアルタイム時間表示について
-
C#テキストボックスの文字を配...
-
ActiveXobjectが作成できない
-
google apps scriptの終了のさせ方
-
ASP.NET MVCでObjectをjsに渡す
-
phpでの文字の点滅表示
-
jspからjavascriptの変数引継ぎ
-
C#で、ContextMenuStripに動的...
-
undefinedを表示させない方法は...
-
JavaScript/jQuery で元画像フ...
-
Matlabで自作関数をオーバーロード
-
C#OpenCv V4にのエラーに関する...
-
ページ最終行へジャンプする方法
-
jquery xmlのlinkが空の<a>タグ
-
クロージャーの利点が理解できない
-
【正規表現】【javascript】CR...
-
JavaScriptで、現在日時から100...
-
クリックすると上に開くアコー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
○歳△ヶ月と×日を計算してくれる...
-
window.openでタイトル名の指定
-
テキストボックスに入力された...
-
Formの値を別のフレームで使いたい
-
記述の仕方を教えて下さい。
-
ジャバスクリプトで空白(スペー...
-
今日の月と日付の1週間後や3日...
-
文字列を時間で入れ替え
-
Javascriptにてページ作成
-
文字サイズ変更ボタンを設置し...
-
iframe内に特定の文字列がある...
-
Cookieの使い方が分からない。
-
for文のiを使ってリンク先のア...
-
promptで入力されたデータをテ...
-
指定した時間になると現れるリンク
-
ウェブ上にキーボードを作りた...
-
innerHTMLにて設定した情報を再...
-
JavaScript 変数をメソッドに代...
-
javscript超初心者です。
-
ブラウザの履歴がおかしくなり...
おすすめ情報