/ Published in: PHP
Added "$date = $matches[2];" to prevent exception when putting dates like "TZID=Europe/Berlin:20101110T140000" into the constructor.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
public function __construct($date = null, $dtz = null) { $this->is_date = false; elseif ( preg_match('{:([12]\d{3}) (0[1-9]|1[012]) (0[1-9]|[12]\d|3[01]Z?) $}x', $date, $matches) ) $this->is_date = true; $dtz = new RepeatRuleTimeZone('UTC'); $this->tzid = 'UTC'; } $dtz = new RepeatRuleTimeZone($matches[1]); $this->tzid = $dtz->tzid(); } else { $dtz = new RepeatRuleTimeZone('UTC'); $this->tzid = null; } $date = $matches[2]; } $dtz = new RepeatRuleTimeZone($dtz); $this->tzid = $dtz->tzid(); } elseif( $dtz === null ) { $dtz = new RepeatRuleTimeZone('UTC'); $this->tzid = 'UTC'; } else { $this->tzid = null; } } else { $this->tzid = $dtz->getName(); } parent::__construct($date, $dtz); return $this; }