How to calculate Mother’s Day in JavaScript

One of my favorite features of PHP is the strtotime function. It takes a
string and gives you the equivalent time in return.

Unfortunately, there’s not something similar for other languages. There are
other ATTEMPTS to duplicate the function, but nothing I’ve ran into that works
quite as well.

With that, sometimes you need to get your hands dirty and write the logic out.
Mother’s day falls on the second Sunday of May here in the states.

To start, you need to determine what day of the week May 1st falls on:

var mayFirst = new Date('2017-05-01'
var dayOfWeek = mayFirst.getUTCDay

Now that we know what day of the week it falls on, we can calculate the first
Sunday of the month:

var firstSunday

if (dayOfWeek === 0) {
  firstSunday = mayFirst
} else {
  firstSunday = new Date
  firstSunday.setDate(1 + (7 - dayOfWeek

So we know what the first Sunday date is, all we need to do is add another 7
days to that:

var mothersDay = new Date(firstSunday
mothersDay.setDate(firstSunday.getUTCDate() + 7
mothersDay = new Date(mothersDay

Now you have a Date object that is set to the second Sunday of May!

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.

If you found this article helpful, please consider buying me a coffee.