Question

Je l'ai trouvé beaucoup d'exemples sur les tables UTC et méthodes de date php pour le convertir, mais je manque encore un moyen simple après a la date du serveur, de la transformer en une sélection de fuseau horaire utilisateur sur ma page web.

Sur cette page http://vkham.com/UTC.html J'ai trouvé un guide clair pour comprendre la gamme, mais je ne sais pas comment se connecter par exemple « Europe / Rome » sur la table, donc il y a quelque chose de plus clair à ce sujet?

Je sais que le fuseau horaire de mon serveur (America / Chicago) mais je ne sais pas encore un moyen de changer de méthode UTC à un autre fuseau horaire sélectionné dans la machine de l'utilisateur (par exemple « Europe / Rome »)

Je tryied quelque chose, mais I'still manque quelque chose, et je ne sais pas quel est-il:

<?php
$timezone = date ("e");
$date = date ('Y-m-d H:i:s');
print $date." - this is my server date, and his timezone is - $timezone<br/>";

$user_timezone = "Europe/Rome"; // there is a way to convert Europe/Rome to UTC -13?
$selected_timezone = "-13"; // is -13 like Europe/Rome in all cases or only because my server is America/Chicago?
$date_user = date ("Y-m-d H:i:s $selected_timezone");
$str_date_user =  strtotime ($date_user);
$new_user_date = date ('Y-m-d H:i:s', $str_date_user);
print $new_user_date . " - this is my server date, and his timezone is - $user_timezone";
?>

n'existe pas un moyen de convertir l'Europe / Rome -13 pour fuseau horaire UTC
Est--13 comme l'Europe / Rome dans tous les cas ou seulement parce que mon serveur est l'Amérique / Chicago?

Était-ce utile?

La solution

Vous pouvez utiliser gmdate pour générer une date qui affiche l'UTC temps -.. quel que soit votre fuseau horaire serveur fonctionne en Ensuite, vous pouvez simplement ajouter la différence de fuseau horaire que hours * 3600 à l'horodatage que vous utilisez pour générer la date pour obtenir le temps de l'utilisateur

Une autre façon serait de régler l'heure locale temporaire au fuseau horaire de l'utilisateur en utilisant date_default_timezone_set .

Un exemple simple pour la première idée serait la suivante:

<?php
$offset   = -13 * 3600; // timezone offset for UTC-13
$utcTime  = gmdate( 'd.m.Y H:i' );
$userTime = gmdate( 'd.m.Y H:i', time() + $offset );
?>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top