A volte vi è la necessita di localizzare un certo orario e una certa data nel fuso orario dell'utenza che visita il nostro sito web. Per far ciò esistono due possibili strade:
In questa snippet utilizziamo JS e PHP per localizzare un determinato datetime rispetto all'orario dello stesso.
La componente JS, semplicemente memorizza l'informazione nei cookie che recuperiamo con PHP successivamente.
$(document).ready(function(){ var tz = jstz.determine(); var timezone = tz.name(); document.cookie = "timezone="+timezone; });
In questo caso è inserito in jquery. Richiede ( )
Successivamente in PHP stabiliremo di default l'orario in cui i nostri datetime sono creati e successivamente recuperemo dai cookie il timezone preso dalla componente JS.
date_default_timezone_set('Europe/Rome'); if(isset($_COOKIE['timezone'])){ $userTimezone = $_COOKIE['timezone']; }
Fatto ciò tutti i datetime cui necessitano questo timo di localizzazione saranno così impostati:
$date = new DateTime($table["datetime"]); $date->setTimezone(new DateTimeZone($userTimezone));
Per poi proseguire con la formattazione desiderata
echo $date->format('Y-m-d H:i');
Ciauz!