_type = self::XMLRPC_TYPE_DATETIME; if ($value instanceof Zend_Date) { $this->_value = $value->toString($this->_isoFormatString); } elseif ($value instanceof DateTime) { $this->_value = $value->format($this->_phpFormatString); } elseif (is_numeric($value)) { // The value is numeric, we make sure it is an integer $this->_value = date($this->_phpFormatString, (int)$value); } else { $timestamp = new DateTime($value); if ($timestamp === false) { // cannot convert the value to a timestamp #require_once 'Zend/XmlRpc/Value/Exception.php'; throw new Zend_XmlRpc_Value_Exception('Cannot convert given value \''. $value .'\' to a timestamp'); } $this->_value = $timestamp->format($this->_phpFormatString); // Convert the timestamp to iso8601 format } } /** * Return the value of this object as iso8601 dateTime value * * @return int As a Unix timestamp */ public function getValue() { return $this->_value; } }