w3resource

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>
<html>
<head>
  <meta charset="utf-8">
  <title>Identify a day based on a date</title>
</head>
<body>

</body>
</html>

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) {
    year--
    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] 
}
console.log(Date_To_Day("07/11/2000"))
console.log(Date_To_Day("11/06/2017"))
console.log(Date_To_Day("11/26/2017"))

Sample Output:

Tuesday
Sunday
Not a valid Date! 

Flowchart:

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.



Follow us on Facebook and Twitter for latest update.