How do I get the current year in JavaScript?
-
27Astonishing if there really isn't a duplicate for this. This one is close, but not exact.T.J. Crowder– T.J. Crowder2011-05-14 14:02:34 +00:00Commented May 14, 2011 at 14:02
-
6Note that the "current" year is not necessarily the same for everyone on the planet at the same time. One has to consider time zone. Most of the answers here give the current year in the user's local time zone (assuming the code is running in a web browser).Matt Johnson-Pint– Matt Johnson-Pint2017-06-06 16:30:42 +00:00Commented Jun 6, 2017 at 16:30
-
Does this answer your question? Shortest way to print current year in a websitecobrexus– cobrexus2021-01-01 18:48:24 +00:00Commented Jan 1, 2021 at 18:48
-
4So everyone look out for those 24 hours out of 8760 where this is not true! My uncle lost a toe not heeding this advice!Raydot– Raydot2021-03-09 00:11:17 +00:00Commented Mar 9, 2021 at 0:11
-
Maybe usefulKooiInc– KooiInc2025-04-05 10:10:38 +00:00Commented Apr 5 at 10:10
13 Answers
Create a new Date() object and call getFullYear():
new Date().getFullYear() // returns the current year
Example usage: a page footer that always shows the current year:
document.getElementById("year").innerHTML = new Date().getFullYear();
footer {
text-align: center;
font-family: sans-serif;
}
<footer>
© <span id="year"></span> by Stack Overflow
</footer>
See also, the Date() constructor's full list of methods.
4 Comments
// Return today's date and time
var currentTime = new Date()
// returns the month (from 0 to 11)
var month = currentTime.getMonth() + 1
// returns the day of the month (from 1 to 31)
var day = currentTime.getDate()
// returns the year (four digits)
var year = currentTime.getFullYear()
// write output MM/dd/yyyy
document.write(month + "/" + day + "/" + year)
2 Comments
Here is another method to get date
new Date().getDate() // Get the day as a number (1-31)
new Date().getDay() // Get the weekday as a number (0-6)
new Date().getFullYear() // Get the four digit year (yyyy)
new Date().getHours() // Get the hour (0-23)
new Date().getMilliseconds() // Get the milliseconds (0-999)
new Date().getMinutes() // Get the minutes (0-59)
new Date().getMonth() // Get the month (0-11)
new Date().getSeconds() // Get the seconds (0-59)
new Date().getTime() // Get the time (milliseconds since January 1, 1970)
Comments
You can get the current year with one line of JS code. Simply paste this line where you want the year to be printed.
<p>Copyright <script>document.write(new Date().getFullYear());</script></p>
Additionally, if you want date in single line in
US format (MM/DD/YYYY)
<p>Date: <script>document.write(new Date().toLocaleDateString('en-US'));</script></p>
UK/India Format (DD/MM/YYYY)
<p>Date: <script>document.write(new Date().toLocaleDateString('en-GB'));</script></p>
Full Date Format (Saturday, April 5, 2025)
<p>Date: <script>document.write(new Date().toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }));</script></p>
Comments
Such is how I have it embedded and outputted to my HTML web page:
<div class="container">
<p class="text-center">Copyright ©
<script>
var CurrentYear = new Date().getFullYear()
document.write(CurrentYear)
</script>
</p>
</div>
Output to HTML page is as follows:
Copyright © 2018
7 Comments
You can simply use javascript like this. Otherwise you can use momentJs Plugin which helps in large application.
new Date().getDate() // Get the day as a number (1-31)
new Date().getDay() // Get the weekday as a number (0-6)
new Date().getFullYear() // Get the four digit year (yyyy)
new Date().getHours() // Get the hour (0-23)
new Date().getMilliseconds() // Get the milliseconds (0-999)
new Date().getMinutes() // Get the minutes (0-59)
new Date().getMonth() // Get the month (0-11)
new Date().getSeconds() // Get the seconds (0-59)
new Date().getTime() // Get the time (milliseconds since January 1, 1970)
function generate(type,element)
{
var value = "";
var date = new Date();
switch (type) {
case "Date":
value = date.getDate(); // Get the day as a number (1-31)
break;
case "Day":
value = date.getDay(); // Get the weekday as a number (0-6)
break;
case "FullYear":
value = date.getFullYear(); // Get the four digit year (yyyy)
break;
case "Hours":
value = date.getHours(); // Get the hour (0-23)
break;
case "Milliseconds":
value = date.getMilliseconds(); // Get the milliseconds (0-999)
break;
case "Minutes":
value = date.getMinutes(); // Get the minutes (0-59)
break;
case "Month":
value = date.getMonth(); // Get the month (0-11)
break;
case "Seconds":
value = date.getSeconds(); // Get the seconds (0-59)
break;
case "Time":
value = date.getTime(); // Get the time (milliseconds since January 1, 1970)
break;
}
$(element).siblings('span').text(value);
}
li{
list-style-type: none;
padding: 5px;
}
button{
width: 150px;
}
span{
margin-left: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>
<button type="button" onclick="generate('Date',this)">Get Date</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Day',this)">Get Day</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('FullYear',this)">Get Full Year</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Hours',this)">Get Hours</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Milliseconds',this)">Get Milliseconds</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Minutes',this)">Get Minutes</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Month',this)">Get Month</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Seconds',this)">Get Seconds</button>
<span></span>
</li>
<li>
<button type="button" onclick="generate('Time',this)">Get Time</button>
<span></span>
</li>
</ul>
Comments
for current year we can use getFullYear() from Date class however there are many function which you can use as per the requirements, some functions are as,
var now = new Date()
console.log("Current Time is: " + now);
// getFullYear function will give current year
var currentYear = now.getFullYear()
console.log("Current year is: " + currentYear);
// getYear will give you the years after 1990 i.e currentYear-1990
var year = now.getYear()
console.log("Current year is: " + year);
// getMonth gives the month value but months starts from 0
// add 1 to get actual month value
var month = now.getMonth() + 1
console.log("Current month is: " + month);
// getDate gives the date value
var day = now.getDate()
console.log("Today's day is: " + day);
Comments
Take this example, you can place it wherever you want to show it without referring to script in the footer or somewhere else like other answers
<script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>
Copyright note on the footer as an example
Copyright 2010 - <script>new Date().getFullYear()>document.write(new Date().getFullYear());</script>
4 Comments
TL;DR
Most of the answers found here are correct only if you need the current year based on your local machine's time zone and offset (client side) - source which, in most scenarios, cannot be considered reliable (beause it can differ from machine to machine).
Reliable sources are:
- Web server's clock (but make sure that it's updated)
- Time APIs & CDNs
Details
A method called on the Date instance will return a value based on the local time of your machine.
Further details can be found in "MDN web docs": JavaScript Date object.
For your convenience, I've added a relevant note from their docs:
(...) the basic methods to fetch the date and time or its components all work in the local (i.e. host system) time zone and offset.
Another source mentioning this is: JavaScript date and time object
it is important to note that if someone's clock is off by a few hours or they are in a different time zone, then the Date object will create a different times from the one created on your own computer.
Some reliable sources that you can use are:
- Your web server's clock (check if it's accurate first)
- Time APIs & CDNs:
But if you simply don't care about the time accuracy or if your use case requires a time value relative to local machine's time then you can safely use Javascript's Date basic methods like Date.now(), or new Date().getFullYear() (for current year).
Comments
If you're using the ES6 Javascript with frameworks like Angular, React, VueJS. Then you should integrate a third-party utility library for your project convenience. DayJS is one of the most popular and lightweight library with Immutable data structures.
In dayJS you can get year in one simple line of code like below.
dayjs().year()
There is also a bunch of useful methods as well. So I would suggest you to use the dayjs for your next project.