Frage

Ich habe viele Beispiele über UTC Tabellen und PHP Datum Methoden gefunden, es zu konvertieren, aber ich habe noch eine einfache Möglichkeit, nach bekam Server-Datum verpassen, in eine Benutzer Auswahl der Zeitzone auf meiner Web-Seite zu konvertieren.

Auf dieser Seite http://vkham.com/UTC.html Ich habe eine gefunden klare Führung um den Bereich zu verstehen, aber ich weiß nicht, wie zum Beispiel „Europa / Rom“ auf dem Tisch zu verbinden, so gibt es etwas mehr klar darüber?

Ich weiß, dass die Zeitzone von meinem Server (America / Chicago), aber ich weiß immer noch nicht so, wie es von der UTC-Methode zu einer anderen Zeitzone von der Benutzermaschine (zB „Europa / Rom“) ausgewählt ändern

I tryied etwas, aber I'still etwas vermissen, und ich weiß nicht, was es ist:

<?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";
?>

Gibt es keine Möglichkeit, Europa / Rom bis -13 für UTC-Zeitzone zu konvertieren?
Ist -13 wie Europa / Rom in allen Fällen oder nur, weil mein Server ist Amerika / Chicago?

War es hilfreich?

Lösung

Sie können mit gmdate ein Datum erzeugen, die die UTC anzeigt Zeit -.., was Zeitzone des Servers in läuft Dann können Sie einfach die Zeitzone Unterschied als hours * 3600 zu dem Zeitstempel hinzufügen, die Sie zum Erzeugen des Datums verwenden, um die Zeit des Benutzers zu erhalten

Eine andere Möglichkeit, die lokale Zeit vorübergehend auf die Zeitzone des Benutzers einstellen würde, indem Sie date_default_timezone_set .

Ein einfaches Beispiel für die erste Idee wäre die folgende:

<?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 );
?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top