<?php
namespace Zend\Stdlib {
use DateTimeZone;
class DateTime extends \DateTime
{
public function __construct($time = 'now', $timezone = null)
{
// workaround not required for PHP 5.3.7 or newer
if(version_compare(PHP_VERSION, '5.3.7','>=')){
return parent::__construct($time, $timezone);
}
// Check if using relative constructs
if(!stristr($time, 'last') && !stristr($time, 'first')){
return parent::__construct($time, $timezone);
}
// Use current time with constructor to prevent setting 'first_last_day_of' flag
parent::__construct('now', $timezone);
// Set the timestamp by relying on strtotime and avoiding setting the
// internal 'first_last_day_of' flag of DateTime object.
$this->setTimestamp(
strtotime($time, $this->getTimestamp())
);
return $this;
}
public function modify($modify)
{
// Workaround not required for PHP 5.3.7 or newer
if(version_compare(PHP_VERSION, '5.3.7','>=')){
return parent::modify($modify);
}
// Check if using relative constructs
if(!stristr($modify, 'last') && !stristr($modify, 'first')){
return parent::modify($modify);
}
// Set the timestamp by relying on strtotime and avoiding setting the
// internal 'first_last_day_of' flag of DateTime object.
$parsedTimestamp = strtotime($modify, $this->getTimestamp());
if ($parsedTimestamp === false) {
return false; // something went wrong parsing the date
}
$this->setTimestamp($parsedTimestamp);
return $this;
}
}
$interval = new DateInterval('P1D');
$dt = new \DateTime('2012-05-05');
var_dump($dt);
$dt->add($interval);
var_dump($dt);
}
Deprecated: Return type of Zend\Stdlib\DateTime::modify($modify) should either be compatible with DateTime::modify(string $modifier): DateTime|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /in/X9ttY on line 31
Fatal error: Uncaught Error: Class "Zend\Stdlib\DateInterval" not found in /in/X9ttY:56
Stack trace:
#0 {main}
thrown in /in/X9ttY on line 56
Process exited with code 255.
Output for 8.0.0 - 8.0.30
Fatal error: Uncaught Error: Class "Zend\Stdlib\DateInterval" not found in /in/X9ttY:56
Stack trace:
#0 {main}
thrown in /in/X9ttY on line 56
Process exited with code 255.
Fatal error: Uncaught Error: Class 'Zend\Stdlib\DateInterval' not found in /in/X9ttY:56
Stack trace:
#0 {main}
thrown in /in/X9ttY on line 56
Process exited with code 255.