I need to know what time zone is currently my users are in based on their IP or http header.
I got many answer regarding this issue, but i could not understood those answer. Some said use -new Date().getTimezoneOffset()/60
(from here). But what does it mean?
I have a date_default_timezone_set("Asia/Calcutta");
in the root of my (index.php) page. So for this I have to get the timezone dynamically and set it in place of Asia/Calcutta
.
To summarize Matt Johnson's answer in terms of code:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js">
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var tz = jstz.determine(); // Determines the time zone of the browser client
var timezone = tz.name(); //For e.g.:"Asia/Kolkata" for the Indian Time.
$.post("url-to-function-that-handles-time-zone", {tz: timezone}, function(data) {
//Preocess the timezone in the controller function and get
//the confirmation value here. On success, refresh the page.
});
});
</script>