Well it’s PHP, doesn’t matter that its a controller. Unless, you want a live lookup, then you’ll need AJAX in your site to do that. But otherwise, I’m imagining they put their address in, and hit Submit.
In your controller that handles the submit you get their address data, and stuff that into your Google Maps API call.
$json = file_get_contents("https://maps.googleapis.com/maps/api/geocode/json?address=$city+$country&key=$my_gmapi_key');
$data = json_decode($json);
Strip the lat lng out of that data and throw that at whatever site which can get you timezone from lat lng, using no doubt similar code. (May need to put some exception handling in!)
If you’re stuck write what code you’ve got (and don’t include your key!!!) and we’ll see if we can make it behave.
(In fact, with your key, don’t even include it in your CakePHP project just in case for the day you share your project. Stick it in a settings file in a folder above the cake app and in your cfg/bootstrap.php
put require '../../settings.php'
and refer to that for all your keys & passwords.)