Php – How to get Time Zone through IP Address in PHP


I want to get time zone through an IP Address in PHP. Actually, I have an application which will run at the client machine. I have the IP address of the client machine. But I am not able to get the time zone for each client machine.

Best Answer

$ip = "";  //$_SERVER['REMOTE_ADDR']
$ipInfo = file_get_contents('' . $ip);
$ipInfo = json_decode($ipInfo);
$timezone = $ipInfo->timezone;
echo date_default_timezone_get();
echo date('Y/m/d H:i:s');

Sometime it won't work on local server so try on server.

Edit: This data is coming from, they're free to use as long as you don't exceed 45 requests per minute and not using commercially. See their TOS, not a long a page.