w3resource

JavaScript: Get timezone offset in seconds

JavaScript Datetime: Exercise-40 with Solution

Write a JavaScript function to get the timezone offset in seconds.

Note : The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.
Test Data :
dt = new Date();
console.log(timezone_offset_in_seconds(dt));
19800

Sample Solution:

JavaScript Code:

// Define a function timezone_offset_in_seconds that calculates the timezone offset in seconds for a given Date object dt
function timezone_offset_in_seconds(dt) 
{ 
   // Return the negated value of the timezone offset of the provided date multiplied by 60 (to convert minutes to seconds)
   return -dt.getTimezoneOffset() * 60;
}

// Create a new Date object representing the current date and time
dt = new Date(); 
// Output the timezone offset in seconds for the current date and time
console.log(timezone_offset_in_seconds(dt)); 

// Create a new Date object representing November 1, 1989
dt = new Date(1989, 10, 1); 
// Output the timezone offset in seconds for November 1, 1989
console.log(timezone_offset_in_seconds(dt));

Sample Output:

19800
19800

Explanation:

In the exercise above,

  • The code defines a function called "timezone_offset_in_seconds()" that calculates the timezone offset in seconds for a given date.
  • Inside the timezone_offset_in_seconds function:
    • It calculates the timezone offset of the provided date using "dt.getTimezoneOffset()". This value represents the difference, in minutes, between the local timezone and UTC/GMT.
    • It negates this value and multiplies it by 60 to convert minutes to seconds. The negation ensures that the returned value represents the offset from UTC/GMT rather than the local timezone.
  • After defining the function, the code creates a new Date object "dt" representing the current date and time using 'new Date()'. It then calls the "timezone_offset_in_seconds()" function with this Date object and outputs the result (the timezone offset in seconds for the current date and time) to the console.
  • Next, the code creates another new Date object "dt" representing November 1, 1989, using 'new Date(1989, 10, 1)'. It again calls the "timezone_offset_in_seconds()" function with this Date object and outputs the result to the console.

Flowchart:

Flowchart: JavaScript- Get timezone offset in seconds

Live Demo:

See the Pen JavaScript - Get timezone offset in seconds-date-ex-40 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Write a JavaScript function to get difference to Greenwich time (GMT) in hours.
Next: Write a JavaScript function to add specified years to a date.

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.