private function parseDateTime($data, array $type)
{
$timezone = isset($type['params'][1]) ? new \DateTimeZone($type['params'][1]) : $this->defaultTimezone;
$data = strval($data);
$type = OTADateTime::TYPE_DATE | OTADateTime::TYPE_TIME;
if (preg_match('/^\\d{4}\\-\\d{2}\\-\\d{2}$/', $data)) {
$type = OTADateTime::TYPE_DATE;
} elseif (preg_match('/^\\d{2}\\:\\d{2}\\:\\d{2}/', $data)) {
$type = OTADateTime::TYPE_TIME;
}
$datetime = new OTADateTime($data, $timezone, $type);
if (false === $datetime) {
throw new RuntimeException(sprintf('Invalid datetime "%s", expected valid XML Schema dateTime string.', $data));
}
return $datetime;
}