How to get yesterday’s date in JavaScript without a library
To get yesterday’s date in JavaScript, you need to get today’s date and use setDate()
of the Date
object to subtract a day from it.
It’s quite easy to implement; You can do it in four steps:
- Get the current date by
Date
constructor - Get the day of the month via
Date.prototype.getDate()
- Subtract 1 day from it
- Use
Date.prototype.setDate()
to set the result as the day of the month
Let’s write the code:
let currentDate = new Date()
// Instantiate another object (based on the current), so we won't mutate the currentDate object
let yesterday = new Date(currentDate)
yesterday.setDate(yesterday.getDate() - 1)
console.log(yesterday)
In the above example, we get the current date (today in this case). Then, we instantiate another date object to avoid mutating the currentDate
object.
The getDate()
method returns the day of the month for our date object. The return value is an integer number between 1
and 31
.
Next, we subtract 1 from the value returned by getDate()
and update the object by the setDate()
method.
If the result is outside the acceptable range for the respective month, setDate()
will update the Date
object accordingly (by changing it to the next or previous month respectively).
For instance, if we're on the first day of the month, and we subtract a day, the result would be the last day of the previous month - instead of 0.
How do I get yesterday's timestamp?
To get the yesterday's date in Unix Timestamp, first you need to call Date.prototype.valueOf()
on your Date
object. And since the returned value is in milliseconds, you'll have to divide it by 1000
:
let currentDate = new Date()
// Instantiate another object (based on the current), so we won't mutate the currentDate object
let yesterday = new Date(currentDate)
yesterday.setDate(yesterday.getDate() - 1)
console.log(Math.floor(yesterday.valueOf() / 1000))
It's important to return only elapsed seconds as an integer value; That's why we used Math.floor()
, and not Math.round()
.
And that's how you get yesterday's date in JavaScripts hope you found this quick guide helpful!
Thanks for reading.
If you read this far, you can tweet to the author to show them you care. Tweet a Thanks
Never miss a guide like this!
Join the DWD mailing list for your weekly dose of knowledge! This mailing list is for doers and thinkers. If you're a curious person, you might find it useful, just as 2,000 other devs do!
Disclaimer: This post may contain affiliate links. I might receive a commission if a purchase is made. However, it doesn’t change the cost you’ll pay.