<?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) );
You have javascript disabled. You will not be able to edit any code.