ich einen Zeitstempel von mysql wiePHP Addition und Subtraktion Zeit zu einem bestimmten Zeitstempel
2012-04-12 16:42:33
in PHP, wie ich Stunden subtrahieren kann, oder im Grunde, wie ich Zeitzone ändern kann (-3 Stunden)?
ich einen Zeitstempel von mysql wiePHP Addition und Subtraktion Zeit zu einem bestimmten Zeitstempel
2012-04-12 16:42:33
in PHP, wie ich Stunden subtrahieren kann, oder im Grunde, wie ich Zeitzone ändern kann (-3 Stunden)?
Sie sollten PHP DateTime verwenden. Sie können die supported formats überprüfen und dann ein neues Objekt erstellen:
$date=new DateTime("2012-04-12 16:42:33");
Dieses Ziel unterstützt auch die Zeitzonen und andere Umwandlungen zu ändern. eine neue Zeitzone (von PHP-Handbuch) Rahmen:
$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
strtotime('-3 hours', strtotime('2012-04-12 16:42:33'));
http://php.net/manual/en/function.strtotime.php
Ändern Zeitzonen ist technisch ein wenig komplizierter, da die Art und Weise Ihre Zeitstempel formatiert ist, wir wissen nicht, welche Zeitzone das Original ist in. So sollte dieser Code genügen.
$hours = 3;
$time_old = "2012-04-12 16:42:33";
$time_new = strtotime($time_old);
$time_new = $time_new - (60 * $hours);
date($time_new);
Dies ermöglicht Ihnen, dynamisch die Stunden durch $hours
Wechsel zu ändern.
Sie subtrahieren Minuten, nicht Sekunden; Du brauchst noch ein '60 *'. Aber ich würde dringend vorschlagen _not_ eine manuelle Subtraktion von Sekunden hinzufügen, weil es ignoriert [Sommerzeit] (http://en.wikipedia.org/wiki/Daylight_saving_time) wo anwendbar. Ein Beispiel finden Sie in diesem Kommentar (http://us3.php.net/manual/en/function.strtotime.php#97025). – Wiseguy
Ihr richtiges @Wiseguy, mein Fehler – Dfranc3373
dass Code in Unix-Zeitstempel konvertiert, was ist mit dem Ausdrucken einer menschenfreundlichen Version? – Francesco
@Francesco, PHP '' date() 'verwenden, um es zu formatieren, wie Sie wollen: http://php.net/manual/en/function.date.php – Brad