Подтвердить что ты не робот

Как узнать дату сегодня?

Я пытаюсь это, но не работает... почему?

<html>
<body>
    <script type="text/javascript">

        var today=new Date(); //today is Nov 28, 2010
        today.setHours(0);
        today.setMinutes(0);
        today.setSeconds(0);
        document.write(today+" ");

        var today2 = new Date("November 28, 2010");
        document.write(today2 + " ");
        if (today == today2) { document.write("==");
        if (!(today > today2) && !(today < today2) ) {document.write("==  ");}
        if (today > today2) { document.write(">  ");}
        if (today >= today2 ){ document.write(">=  ");}
        if (today < today2 ) { document.write("<  ");}
        if (today <= today2 ){ document.write("<=  ");}

    </script>
</body>
</html>

И я всегда получаю это:

Sun Nov 28 2010 00:00:00 GMT+0900 (JST) Sun Nov 28 2010 00:00:00 GMT+0900 (JST) > >=

Разве обе даты не совпадают? Следовательно, я должен получить == напечатанный, но не произойдет...; (

Благодарим вас за помощь.

4b9b3361

Ответ 1

Они никогда не будут совпадать, потому что вы сравниваете два отдельных экземпляра объекта Date.

Вам нужно получить общее значение, которое можно сравнить. Например .toDateString().

today.toDateString() == today2.toDateString();  // true

Если вы просто сравниваете два отдельных объекта Date, даже если они имеют точно такое же значение даты, они все равно отличаются.

Например:

today == new Date( today );  // false

Они являются одним и тем же значением даты/времени, но не являются одним и тем же объектом, поэтому результат false.

Ответ 2

function today(td) {
    var d = new Date();
    return td.getDate() == d.getDate() && td.getMonth() == d.getMonth() && td.getFullYear() == d.getFullYear();
}