PHP-timestamp, Datum, Benutzer-Zeitzone
Ich ziehe die raw erzeugt mysql-timestamp-Informationen $item_date aus der Datenbank als php date format:
if (($timestamp = strtotime($item_date)) === false) {
echo "The timestamp string is bogus";
} else {
echo date('j M Y h:i:sA', $timestamp);
}
Ausgabe folowwing die server-Zeitzone (UTC):
12 Nov 2012 05:54:11 UHR
aber ich wollen, es zu konvertieren, die entsprechend auf die Zeitzone des Nutzers
Beispiel: sagen wir mal, wenn der Benutzer die Zeit ist 13 Nov 2012 07:00:00(+0800 GMT) und die server-Zeit ist 12 Nov 2012 11:00:00 PM(UTC) und der timestamp von $item_date ist 12 Nov 2012 10:30:00 PM (UTC) so
Benutzer mit (UTC) wird $item_date als:
12 Nov 2012 10:30:00 Uhr
und Benutzer mit (+0800 GMT) wird $item_date als:
13 Nov 2012 06:30:00 Uhr
Wie bekomme ich es getan?
Dank
- Wenn Sie wissen, user timezone, dann können Sie
date_default_timezone_set('America/Los_Angeles');
- aber das ist nur eine Einstellung von einer zone ich möchte, dass es in der Lage sein, zu erkennen die Benutzer der zone aller Art wie +6gmt -8gmt etc alles...
- haben Sie gespeichert, jeder user timezone in DB ?
- Nein, die Datenbank timestap wird alles in UTC-ich will, dass es wie dieses: $item_date timestamp > PHP-Date-Format Folgen Sie dem computer des Benutzers Zeitzone > - Ausgabe von final PHP Datum...
InformationsquelleAutor Jeremy John | 2012-11-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser Beitrag wurde aktualisiert, um eine vollwertige Beispiel
Ich hoffe das ist jetzt deutlich genug ;).
DateTime::createFromFormat
zum initialisieren von Ihrem mysql-Datum. Machen Sie es wie diese:$dt = DateTime::createFromFormat("Y-m-d H:i:s", $item_date);
und entfernen Sie den call -$dt->setTimestamp($item_date);
. Speichern Sie die Seite als tz.php als ajax-Aufruf aufrufen, die Seite sehr.DateTime::createFromFormat
funktioniert nicht, aber ich verwendet, dies zu umgehen:$item_date = '2012-11-12 23:15:20';
mit$dt = new DateTime($item_date);