Milton T
Milton T

Reputation: 23

Wrong Date displayed

I have the following in an html file to display today's Date.

<p id="todays-date">
   <script>
      var currentDate = new Date();
      var day = currentDate.getDay();
      var month = currentDate.getMonth();
      var year = currentDate.getFullYear();
      var fullDate = day + "/" + month + "/" + year;
      document.write(fullDate);
   </script>
</p>

As for today being the 23rd of September 2021 23/9/2021 in Australia the result I am getting is 4/8/2021.

Any help would be appreciated.

MiltonT.

Upvotes: 0

Views: 63

Answers (5)

SAI SRI HARSHA
SAI SRI HARSHA

Reputation: 1

Hello the mistake you did here is you fetched day instead of date.

The second mistake is months count from 0 to 11 instead of 1-12 increment by 1 will solve your problem

here is modified version of your code

      var currentDate = new Date();
      var day = currentDate.getDate();
      var month = currentDate.getMonth()+1;
      var year = currentDate.getFullYear();
      var fullDate = day + "/" + month + "/" + year;
      window.alert(fullDate);

js months calculate from 0-11 instead of 1-12

Upvotes: 0

Thomas Wikman
Thomas Wikman

Reputation: 705

getDay returns the current weekday and getMonth returns the current month, starting from 0

I would recommend you to take a look at the Date API docs

    var currentDate = new Date();
    var day = currentDate.getDate(); // Returns the day of the month (1–31) for the specified date according to local time.
    var month = currentDate.getMonth() + 1; // Returns the month (0–11) in the specified date according to local time.
    var year = currentDate.getFullYear();
    var fullDate = day + "/" + month + "/" + year;
    
    document.write(fullDate);

Upvotes: 2

ray
ray

Reputation: 27275

  • getDay gives you the day of the week, not the date. use getDate instead.
  • getMonth is zero-based. (january is 0, not 1). Add 1 to get the conventional one-based month.

Upvotes: 1

Pandiyan Cool
Pandiyan Cool

Reputation: 6585

Try this

var currentDate = new Date();
console.log(currentDate.toLocaleString('en-US'));


// 9/23/2021, 10:28:46 AM

YOu will get output in above format

Upvotes: 0

brk
brk

Reputation: 50346

Replace getDay with getDate, getDay returns the day of the week 0 represent Sunday and 6 represent Saturday. So 4 here in your question represent thursday

var currentDate = new Date();
var day = currentDate.getDate();
var month = currentDate.getMonth();
var year = currentDate.getFullYear();
var fullDate = day + "/" + month + "/" + year;
document.write(fullDate);

Upvotes: 0

Related Questions