Finding day of the week of any give year in javascript? [duplicate]
Solution 1:
Use this function, comes with date string validation:
If you include this function somewhere in your project,
// Accepts a Date object or date string that is recognized by the Date.parse() method
function getDayOfWeek(date) {
const dayOfWeek = new Date(date).getDay();
return isNaN(dayOfWeek) ? null :
['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][dayOfWeek];
}
You will be able to use it anywhere easily like this:
getDayOfWeek( "2013-07-31" )
> "Wednesday"
getDayOfWeek( new Date() ) // or
getDayOfWeek( Date.now() )
> // (will return today's day. See demo jsfiddle below...)
If invalid date string is used, a null will be returned.
getDayOfWeek( "~invalid string~" );
> null
Valid date strings are based on the Date.parse() method as described in the MDN JavaScript reference.
Demo: http://jsfiddle.net/samliew/fo1nnsgp/
Of course you can also use the moment.js plugin, especially if timezones are required.
Solution 2:
Here are one-liner solutions but please check the support first.
let current = new Date();
let today = current.toLocaleDateString('en-US',{weekday: 'long'});
console.log(today);
let today2 = new Intl.DateTimeFormat('en-US', {weekday: 'long'}).format(current);
Docs for Intl.DateTimeFormat object
Docs for localeDateString