- ベストアンサー
Dateオブジェクトの大小比較のしかた?
こんにちは,よろしくお願いします。 Dateオブジェクトを次のように作成しました。 var today = new Date(2008,8,21); var theday = new Date(2008,8,21); このようにすれば,同じ日付になると思うのですが, if(today == theday){ alert("=="); }else{ alert("!="); } として,判定すると != が表示されます。Dateオブジェクトの大小判定(日付の前後の比較)はどのように行うのでしょうか?(できないのかな???) 教えていただきたいと思います。よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
newで作成したオブジェクトの比較だからだろうと思います if (today.toString() == theday.toString()) としてやれば 期待する結果になります
その他の回答 (3)
Dateオブジェクトの、.getTime()で得られる数値は 1970/01/01 00:00:00.000 からのミリ秒数を返す。 つまりそれを、24*60*60*1000ミリ秒で割ることで、整数部が日数となる それを比較すれば、日数の比較は可能なのだけれど。
お礼
_pipi_さんありがとうございました。 なるほど,そういう値があるのですなね,とても勉強になりました。 これからもよろしくお願いします。
<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>
<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>
お礼
redfox63さん,ありがとうございました。 これからもよろしくお願いします。
補足
redfox63さん,ありがとうございました。 > newで作成したオブジェクトの比較だからだろうと思います ただ,オブジェクトの大小の比較はできない?のでしょうか? today < theday のような比較もできないのでしょうか? できれば,教えていただきたくお願い申し上げます。