w3resource

JavaScript: Find 1st January be a Sunday between a range of years

JavaScript Basic: Exercise-7 with Solution

Write a JavaScript program to find which 1st January is being a Sunday between 2014 and 2050.

Sample Solution:

HTML Code:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>A Program to find 1st January is being a Sunday between 2014 and 2050.</title>
</head>
<body>
</body>
</html>

JavaScript Code:

console.log('--------------------');
for (var year = 2014; year <= 2050; year++)
    {
    var d = new Date(year, 0, 1);
    if ( d.getDay() === 0 )
        console.log("1st January is being a Sunday  "+year);
    }
console.log('--------------------');

Sample Output:

--------------------
1st January is being a Sunday  2017
1st January is being a Sunday  2023
1st January is being a Sunday  2034
1st January is being a Sunday  2040
1st January is being a Sunday  2045
--------------------

Explanation:

Declaring a JavaScript date : In JavaScript Date objects are based on a time value that is the number of milliseconds since 1 January, 1970 UTC. You can declare a date in the following ways :

new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);

The getDay() method is used to get the day of the week for the specified date according to local time, where 0 represents Sunday. The value returned by getDay() is an integer corresponding to the day of the week: 0 for Sunday, 1 for Monday, 2 for Tuesday, and so on.

Flowchart:

Flowchart: JavaScript : Find which 1st January be a Sunday between a range of years

ES6 Version:

console.log('--------------------');
for (let year = 2014; year <= 2050; year++)
    {
    const d = new Date(year, 0, 1);
    if ( d.getDay() === 0 )
        console.log(`1st January is being a Sunday  ${year}`);
    }
console.log('--------------------');

Live Demo:

See the Pen JavaScript: Sunday 2014 and 2050 - basic-ex-7 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to determine whether a given year is a leap year in the Gregorian calendar.
Next: Write a JavaScript program where the program takes a random integer between 1 to 10, the user is then prompted to input a guess number.

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

Returns the sum of the powers of all the numbers from start to end (both inclusive)

Example:

const sumPower = (end, power = 2, start = 1) =>
  Array(end + 1 - start)
    .fill(0)
    .map((x, i) => (i + start) ** power)
    .reduce((a, b) => a + b, 0);
console.log(sumPower(10)); // 385
console.log(sumPower(10, 3)); // 3025
console.log(sumPower(10, 3, 5)); // 2925 

Output:

385
3025
2925