JavaScript: Identify a day based on a date

JavaScript Datetime: Exercise-57 with Solution

Write a JavaScript program to get the name of a day based on a given date in string format.

Date format: mm/dd/yyyy

Test Data:
("07/11/2000") -> "Tuesday"
("11/06/2017") -> "Sunday"
("11/26/2017") -> "Not a valid Date!"

Sample Solution:

HTML Code:

<!DOCTYPE html>
  <meta charset="utf-8">
  <title>Identify a day based on a date</title>


JavaScript Code:

const days_Name = ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
const Date_To_Day = (dt) => {
  if (typeof dt !== 'string') {
    return 'Argument should be string!'
  // extract the date
  let [day, month, year] = dt.split('/').map((x) => Number(x))
  // check the data are valid or not.
  if (day < 1 || day > 31 || month > 12 || month < 1) {
    return 'Not a valid Date!'
  if (month < 3) {
    month += 12
  const year_Digits = year % 100
  const century = Math.floor(year / 100)
  const week_Day = (day + Math.floor((month + 1) * 2.6) + year_Digits + Math.floor(year_Digits / 4) + Math.floor(century / 4) + 5 * century) % 7
  return days_Name[week_Day] 

Sample Output:

Not a valid Date! 


Flowchart: JavaScript- Identify a day based on a date

Live Demo:

See the Pen javascript-date-exercise-57 by w3resource (@w3resource) on CodePen.

Contribute your code and comments through Disqus.

Previous: Create and print a calendar.
Next: javascript String Exercises

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

JavaScript: Tips of the Day

function and arguments

const person = {
  name: 'Lydia Hallie',
  hobbies: ['coding'],

function addHobby(hobby, hobbies = person.hobbies) {
  return hobbies;

addHobby('running', []);
addHobby('baking', person.hobbies);


The addHobby function receives two arguments, hobby and hobbies with the default value of the hobbies array on the person object.
First, we invoke the addHobby function, and pass "running" as the value for hobby and an empty array as the value for hobbies. Since we pass an empty array as the value for y, "running" gets added to this empty array.
Then, we invoke the addHobby function, and pass "dancing" as the value for hobby. We didn't pass a value for hobbies, so it gets the default value, the hobbies property on the person object. We push the hobby dancing to the person.hobbies array.
Last, we invoke the addHobby function, and pass "bdaking" as the value for hobby, and the person.hobbies array as the value for hobbies. We push the hobby baking to the person.hobbies array.
After pushing dancing and baking, the value of person.hobbies is ["coding", "dancing", "baking"]

Ref: https://bit.ly/2Hcpkm6