getTimestamp(); } elseif (is_string($value)) { $value = strtotime($value); } elseif (!is_int($value)) { throw new \InvalidArgumentException('Unable to handle the provided' . ' timestamp type: ' . gettype($value)); } switch ($format) { case 'iso8601': return gmdate('Y-m-d\TH:i:s\Z', $value); case 'rfc822': return gmdate('D, d M Y H:i:s \G\M\T', $value); case 'unixTimestamp': return $value; default: throw new \UnexpectedValueException('Unknown timestamp format: ' . $format); } } }