w3resource

JavaScript: Get time differences in weeks between two dates

JavaScript Datetime: Exercise-47 with Solution

Time Diff in Weeks

Write a JavaScript function to get time differences in weeks between two dates.

Test Data :
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
console.log(diff_weeks(dt1, dt2));
18

Sample Solution:

JavaScript Code:

// Define a function diff_weeks that calculates the difference in weeks between two given Date objects, dt2 and dt1
function diff_weeks(dt2, dt1) 
{
  // Calculate the difference in milliseconds between dt2 and dt1
  var diff =(dt2.getTime() - dt1.getTime()) / 1000;
  // Convert the difference from milliseconds to weeks by dividing it by the number of milliseconds in a week
  diff /= (60 * 60 * 24 * 7);
  // Return the absolute value of the rounded difference as the result
  return Math.abs(Math.round(diff));
}

// Create Date objects representing two dates
dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,11);
// Calculate and output the difference in weeks between the two dates
console.log(diff_weeks(dt1, dt2));

// Create Date objects representing two other dates
dt1 = new Date("June 13, 2014 08:11:00");
dt2 = new Date("October 19, 2014 11:13:00");
// Calculate and output the difference in weeks between these two dates
console.log(diff_weeks(dt1, dt2));

Output:

1
18

Explanation:

In the exercise above,

  • This JavaScript code defines a function "diff_weeks()" that calculates the difference in weeks between two given dates ('dt2' and 'dt1').
  • The function takes two Date objects as input parameters.
  • It calculates the difference in milliseconds between the two dates using their "getTime()" method.
  • Then, it converts the difference from milliseconds to weeks by dividing it successively by the number of milliseconds in an hour, a day, and a week.
  • The result is rounded to the nearest integer using "Math.round()".
  • Finally, the absolute value of the rounded difference is returned as output.

Flowchart:

Flowchart: JavaScript- Get time differences in weeks between two dates

Live Demo:

See the Pen JavaScript - Get time differences in weeks between two dates-date-ex-47 by w3resource (@w3resource) on CodePen.


For more Practice: Solve these Related Problems:

  • Write a JavaScript function that computes the week difference between two dates by first calculating the day difference then dividing by 7.
  • Write a JavaScript function that rounds the week difference to the nearest whole number.
  • Write a JavaScript function that handles fractional weeks and returns the correct number of full weeks between dates.
  • Write a JavaScript function that validates the date inputs and returns the week difference as a formatted string.

Improve this sample solution and post your code through Disqus.

Previous: Write a JavaScript function to get time differences in days between two dates.
Next: Write a JavaScript function to get time differences in months between two dates.

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.