3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace Nette; class DateTime extends \DateTime { /** minute in seconds */ const MINUTE = 60; /** hour in seconds */ const HOUR = 3600; /** day in seconds */ const DAY = 86400; /** week in seconds */ const WEEK = 604800; /** average month in seconds */ const MONTH = 2629800; /** average year in seconds */ const YEAR = 31557600; /** * DateTime object factory. * @param string|int|\DateTime * @return DateTime */ public static function from($time) { if ($time instanceof \DateTime || $time instanceof \DateTimeInterface) { return new static($time->format('Y-m-d H:i:s'), $time->getTimezone()); } elseif (is_numeric($time)) { if ($time <= self::YEAR) { $time += time(); } $d = new static; return $d->setTimestamp($time); } else { // textual or NULL return new static($time); } } public function __toString() { return $this->format('Y-m-d H:i:s'); } public function modifyClone($modify = '') { $dolly = clone $this; return $modify ? $dolly->modify($modify) : $dolly; } public function setTimestamp($timestamp) { $zone = $this->getTimezone(); $this->__construct('@' . $timestamp); return $this->setTimeZone($zone); } } var_dump((string) DateTime::from(2544000000));

preferences:
39.47 ms | 402 KiB | 5 Q