dポイントプレゼントキャンペーン実施中!

JavaScriptで「○○は生後△△日になりました。あと××日で1歳になります。」というようにカウントダウンとカウントアップを設置したいと思っています。

例えば、2003年2月1日生まれの場合は
カウントアップは
var xxday = new Date(2003, 2-1, 2);

カウントダウンは
var xday = new Date(2004, 2-1, 1);

でいいのでしょうか??

A 回答 (2件)

質問の意図するところが少々読めない部分があるのですが、xxdayというDateオブジェクトに生まれた日、xdayというDateオブジェクトに1歳の誕生日を入れるのであれば、質問文の通りで良いのではないかと思います。



x=new Date(yyyy, mm, dd)

という形でxをDateオブジェクトとして定義すると、xはyyyy年mm月dd日という日付を持つことになります。 ただし、月の表記は0を初期値とする連番となり、1月は0に相当するので、日本式の月の表記からは1を引く必要があります(2月なら"2-1")。

とりあえず、下記に質問文のソースをそのまま作ってみました。 xxdayをbirthday、xxdayをxdayという名前に書き換えて作成し、また生後の経過日数をsncdays、1歳の誕生日までの残り日数をtilxdayという変数で定義しています。
こちらで確認してみて下さい。

<html>
<head>
<script type="text/javascript"><!--
today= new Date();
birthday= new Date(2003,2-1,1);
xday= new Date(2004,2-1,1);

sncdays= Math.floor((today.getTime()-birthday.getTime())/(24*60*60*1000));
tilxday= Math.ceil((xday.getTime()-today.getTime())/(24*60*60*1000));
//--></script>
</head>
<body>

<script type="text/javascript"><!--
document.write("○○は生後"+sncdays+"日になりました。あと"+tilxday+"日で1歳になります。")
//--></script>
</body>
</html>

参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございました。

同じように表示されるJavaでもいろいろなソースがあることをはじめて知りました。今はソースをダウンロードしているだけですが、勉強してみたら楽しそうですね。

お礼日時:2004/01/25 23:23

<script LANGUAGE="JavaScript">


var now = new Date();
var xday = new Date(2004,2-1,1);
var xxday = new Date(2003,2-1,1);

s = Math.floor((now.getTime() - xxday.getTime()) / (24*60*60*1000));
t = Math.ceil((xday.getTime() - now.getTime()) / (24*60*60*1000));

document.writeln("○○は、生まれてから" + s + "日になります。後"+ t +"日で1歳になります<BR>");

</SCRIPT>

これで良いと思うのですが?きっちり検算してません。
    • good
    • 0
この回答へのお礼

ありがとうございました。

確認してみたところ、私が設定したものと同じカウントが出てきたのであっていたようです。

お礼日時:2004/01/25 23:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!