Created
November 21, 2010 22:35
-
-
Save somebox/709234 to your computer and use it in GitHub Desktop.
Get the user's timezone
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// script by Josh Fraser (http://www.onlineaspect.com) | |
// modded by Jeremy Seitz to only return offset as integer | |
function calculate_time_zone() { | |
var rightNow = new Date(); | |
var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0); // jan 1st | |
var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st | |
var temp = jan1.toGMTString(); | |
var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1)); | |
temp = june1.toGMTString(); | |
var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1)); | |
var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60); | |
var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60); | |
var dst; | |
if (std_time_offset == daylight_time_offset) { | |
dst = 0; // daylight savings time is NOT observed | |
} else { | |
// positive is southern, negative is northern hemisphere | |
var hemisphere = std_time_offset - daylight_time_offset; | |
if (hemisphere >= 0) | |
std_time_offset = daylight_time_offset; | |
dst = 1; // daylight savings time is observed | |
} | |
var i; | |
return std_time_offset + dst; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
or, um: