- var_dump: documentation ( source)
<?php
class DateTimeFactory
{
const DATE_INTERVAL = 'PT20M';
const DATE_INTERVAL_FOR_METHOD_3 = '+20 minutes';
// I personally prefer adding DateInterval
public static function createDateTimeByInterval1(DateInterval $dateInterval)
{
// create DateTime, add Date and/or TimeZone in constructor if needed.
$dateTime = new DateTime();
return $dateTime->add($dateInterval);
}
// Using a ISO 8601 String
public static function createDateTimeByInterval2($intervalStr)
{
// create DateTime, add Date and/or TimeZone in constructor if needed.
$dateTime = new DateTime();
return $dateTime->add(new DateInterval($intervalStr));
}
// Using modify
public static function createDateTimeByInterval3($intervalStr)
{
// create DateTime, add Date and/or TimeZone in constructor if needed.
$dateTime = new DateTime();
return $dateTime->modify($intervalStr);
}
}
var_dump(
DateTimeFactory::createDateTimeByInterval1(new DateInterval(DateTimeFactory::DATE_INTERVAL)),
DateTimeFactory::createDateTimeByInterval2(DateTimeFactory::DATE_INTERVAL),
DateTimeFactory::createDateTimeByInterval3(DateTimeFactory::DATE_INTERVAL_FOR_METHOD_3)
);