开发者

How to know date is today?

I am trying this but is not working... why?

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

        var today=new Date(); //today is Nov 28, 2010
        today.setHours(0);
        today.setMinutes(0);
        to开发者_运维知识库day.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>

And I always get this:

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

Aren't both dates to be the same? Hence, I should get == printed but is not happening... ;(

Thank you for your help in advance.


They will never match because you're comparing two separate Date object instances.

You need to get some common value that can be compared. For example .toDateString().

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

If you just compare two separate Date objects, even if they have the exact same date value, they are still different.

For example:

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

They are the same date/time value, but are not the same object, so the result is false.


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


You can do it by setting time to 00:00:00 for the given date and for today's date, and then compare them.

The code example is below:

function checkDateIsToday (today, givenDate) {
  
  if(today.setHours(0,0,0,0) === givenDate.setHours(0,0,0,0)) {
     console.log('Date is todays date');
  } else {
     console.log('Date is not todays date');
  } 

}

checkDateIsToday(new Date(), new Date('2020-07-10'));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜