Ashu Ashu - 1 month ago 18
PHP Question

how to detect users timezone

i need to know what time zone is currently my users is in based on their Ip or http header.

This is very urgent to me. 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
.

Please help me in simple way to accomplish this issue.

-Thanks in advance

Answer

Thank you Ashutosh for bringing up this discussion and Thanks a million to Matt Johnson for sharing your knowledge with us on time zone.

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(); //'Asia/Kolhata' for 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>