| Server IP : 35.236.43.222 / Your IP : 216.73.216.143 Web Server : Apache System : Linux order-form-vm-001 5.10.0-37-cloud-amd64 #1 SMP Debian 5.10.247-1 (2025-12-11) x86_64 User : deploy ( 1002) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/ravel.network/public/phpmyadmin/vendor/thecodingmachine/safe/lib/ |
Upload File : |
<?php
namespace Safe;
use DateInterval;
use DateTimeInterface;
use DateTimeZone;
use Safe\Exceptions\DatetimeException;
/** this class implements a safe version of the Datetime class */
class DateTime extends \DateTime
{
//switch from regular datetime to safe version
private static function createFromRegular(\DateTime $datetime): self
{
return new self($datetime->format('Y-m-d H:i:s.u'), $datetime->getTimezone());
}
/**
* @param string $format
* @param string $time
* @param DateTimeZone|null $timezone
* @throws DatetimeException
*/
public static function createFromFormat($format, $time, $timezone = null): self
{
$datetime = parent::createFromFormat($format, $time, $timezone);
if ($datetime === false) {
throw DatetimeException::createFromPhpError();
}
return self::createFromRegular($datetime);
}
/**
* @param DateTimeInterface $datetime2 The date to compare to.
* @param boolean $absolute [optional] Whether to return absolute difference.
* @return DateInterval The DateInterval object representing the difference between the two dates.
* @throws DatetimeException
*/
public function diff($datetime2, $absolute = false): DateInterval
{
/** @var \DateInterval|false $result */
$result = parent::diff($datetime2, $absolute);
if ($result === false) {
throw DatetimeException::createFromPhpError();
}
return $result;
}
/**
* @param string $modify A date/time string. Valid formats are explained in <a href="https://secure.php.net/manual/en/datetime.formats.php">Date and Time Formats</a>.
* @return DateTime Returns the DateTime object for method chaining.
* @throws DatetimeException
*/
public function modify($modify): self
{
/** @var DateTime|false $result */
$result = parent::modify($modify);
if ($result === false) {
throw DatetimeException::createFromPhpError();
}
return $result;
}
/**
* @param int $year
* @param int $month
* @param int $day
* @return DateTime
* @throws DatetimeException
*/
public function setDate($year, $month, $day): self
{
/** @var DateTime|false $result */
$result = parent::setDate($year, $month, $day);
if ($result === false) {
throw DatetimeException::createFromPhpError();
}
return $result;
}
}