Ich möchte ermitteln ob ein DateTime-Objekt eine bestimmte Zeitzone hat. Dafür wollte ich zwei Objekte vom Typ DateTimeZone vergleichen.
Laut Manual liefert der typeschwache Vergleich true wenn alle Eigenschaften gleich sind. Das folgende Beispiel sollte daher false liefern.
Das Resultat ist aber true.
Erstelle ich eigene Objekte, funktioniert ein Vergleich wie im Manual beschrieben:
Vermutlich wieder eine der vielen Eigenheiten wie sie auch bei DateTime zu finden sind.
Bin jetzt am überlegen wie ich den Vergleich mache. Per getName() scheint mir nicht zuverlässig, per getOffset() auf den ersten Blick etwas umständlich.
Gibt es bessere Ideen?
Laut Manual liefert der typeschwache Vergleich true wenn alle Eigenschaften gleich sind. Das folgende Beispiel sollte daher false liefern.
Das Resultat ist aber true.
PHP-Code:
$tza = new DateTimeZone("America/New_York");
$tzb = new DateTimeZone("Europe/Berlin");
var_dump($tza == $tzb); //true
PHP-Code:
class MyTimeZone{
private $timezone_type = 3;
private $timezone;
public function __construct($tz = ""){
$this->timezone = $tz;
}
}
$tza = new MyTimeZone("America/New_York");
$tzb = new MyTimeZone("Europe/Berlin");
var_dump($tza == $tzb); //false
Bin jetzt am überlegen wie ich den Vergleich mache. Per getName() scheint mir nicht zuverlässig, per getOffset() auf den ersten Blick etwas umständlich.
Gibt es bessere Ideen?
Kommentar