public function testFormat()
 {
     $dtf = new DateHandler();
     $iso8601DateIntervalString = $dtf->format(new \DateInterval('PT45M'));
     $this->assertEquals($iso8601DateIntervalString, 'PT45M');
     $iso8601DateIntervalString = $dtf->format(new \DateInterval('P2YT45M'));
     $this->assertEquals($iso8601DateIntervalString, 'P2YT45M');
     $iso8601DateIntervalString = $dtf->format(new \DateInterval('P2Y4DT6H8M16S'));
     $this->assertEquals($iso8601DateIntervalString, 'P2Y4DT6H8M16S');
 }
示例#2
0
 /**
  * {@inheritdoc}
  */
 public function deserializeDateTimeFromJson(JsonDeserializationVisitor $visitor, $data, array $type)
 {
     // Handle empty or invalid date / datetime values.
     if ('' === $data || null === $data || strpos($data, '0000-00-00') !== false) {
         return null;
     }
     // We want to always show the response in the UTC timezone.
     $dateTime = parent::deserializeDateTimeFromJson($visitor, $data, $type);
     if ($dateTime instanceof \DateTime) {
         $dateTime->setTimezone(new \DateTimeZone('UTC'));
     }
     return $dateTime;
 }
 /**
  * @param string $defaultFormat
  * @param string $defaultTimezone
  */
 public function __construct($defaultFormat = DateTime::ISO8601, $defaultTimezone = 'UTC')
 {
     $this->format = $defaultFormat;
     $this->timezone = new DateTimeZone($defaultTimezone);
     parent::__construct($defaultFormat, $defaultTimezone);
 }
 public static function getSubscribingMethods()
 {
     $methods = parent::getSubscribingMethods();
     $methods[] = array('type' => 'DateTime', 'direction' => GraphNavigator::DIRECTION_DESERIALIZATION, 'format' => 'array');
     return $methods;
 }