電子書籍の厳選無料作品が豊富!

こんにちは,よろしくお願いします。
Dateオブジェクトを次のように作成しました。
var today = new Date(2008,8,21);
var theday = new Date(2008,8,21);
このようにすれば,同じ日付になると思うのですが,
if(today == theday){
alert("==");
}else{
alert("!=");
}
として,判定すると != が表示されます。Dateオブジェクトの大小判定(日付の前後の比較)はどのように行うのでしょうか?(できないのかな???)
教えていただきたいと思います。よろしくお願いします。

A 回答 (4件)

newで作成したオブジェクトの比較だからだろうと思います



if (today.toString() == theday.toString())
としてやれば 期待する結果になります

この回答への補足

redfox63さん,ありがとうございました。

> newで作成したオブジェクトの比較だからだろうと思います

ただ,オブジェクトの大小の比較はできない?のでしょうか?
today < theday のような比較もできないのでしょうか?

できれば,教えていただきたくお願い申し上げます。

補足日時:2008/09/22 06:52
    • good
    • 0
この回答へのお礼

redfox63さん,ありがとうございました。
これからもよろしくお願いします。

お礼日時:2008/09/22 18:53

Dateオブジェクトの、.getTime()で得られる数値は


1970/01/01 00:00:00.000 からのミリ秒数を返す。
つまりそれを、24*60*60*1000ミリ秒で割ることで、整数部が日数となる
それを比較すれば、日数の比較は可能なのだけれど。
    • good
    • 0
この回答へのお礼

_pipi_さんありがとうございました。
なるほど,そういう値があるのですなね,とても勉強になりました。
これからもよろしくお願いします。

お礼日時:2008/09/22 18:51

<html>


<body>
<script type="text/javascript">
var t1 = new Date(2009,1,1,0,0,0);
var t2 = new Date();
alert('正月まで'+((t1.getTime()-t2.getTime())/24/60/60/1000|0)+'日です');
</script>
</body>
</html>
    • good
    • 0

<html>


<body>
<script type="text/javascript">
var t1 = new Date();
alert('wait');
var t2 = new Date();
alert(['t1='+t1.getTime(),'\nt2='+t2.getTime(),'\n時間差='+(t2.getTime()-t1.getTime())/1000+'秒']);
</script>
</body>
</html>
    • good
    • 0

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