2013-05-01 13 views
5

Ich bin in Schwierigkeiten zu geraten, wo ich für die Verbindung mit OpenX API mit XML-RPC2 Codierung wurde. Ich bekomme das Problem, dass der Datentyp von der Feuerfunktion der DateTime.iso8601 benötigt wird.Ist es möglich, Datentypen von String zu ändern Datum

Dies ist mein Code:

$sdatetime = new DateTime('2013-01-01 00:00:00'); 
$edatetime = new DateTime('2013-06-01 00:00:00'); 

$startDate = $sdatetime->format(DateTime::ISO8601); 
$endDate = $edatetime->format(DateTime::ISO8601); 

try { 
    $result = $aClient->agencyPublisherStatistics($sessionId, 1, $startDate, $endDate); 
    print_r($result); 
} catch (XML_RPC2_FaultException $e) { 
    die('Exception #' . $e->getFaultCode() . ' : ' . $e->getFaultString()); 
} 

Dieses Ergebnis Fehler, wenn ich Skript oben ausgeführt:

Ausnahme # 3: falsche Parameter Methode übergeben: dateTime.iso8601 gesucht, bekam String an param 3

Wenn ich print_r(gettype($startDate)); laufen bekomme ich die Daten vom Typ ist Zeichenfolge nicht Datum.

Meine Frage, für Variablen $startDate und $endDate, wie sie ihren Datentyp zu machen und nicht sein dateTime.iso8601 oder date als string.

Danke.

+0

Ich weiß nicht, diese api sehr gut, aber wie wäre es nur die $ sdatetime Objekt übergeben? – nvanesch

+0

Hallo @nvanesch Ich habe mit diesem Link http://pear.php.net/manual/en/package.webservices.xml-rpc2.client.php fertig, danke für die Hilfe. –

Antwort

1

Es sieht so aus, als ob Ihre agencyPublisherStatistics ein bestimmtes XML_RPC2_Value-Datumsobjekt benötigt. Sie können dies mithilfe von erstellen.

$startDate = XML_RPC2_Value::createFromNative($startDate, ‘datetime’); 

gleiche gilt für das Enddatum .. lassen Sie mich wissen, ob das funktioniert ..

+0

Ich habe mit diesem Link http://pear.php.net/manual/en/package.webservices.xml-rpc2.client.php abgeschlossen, danke für Hinweis. –

1

Try this,

$sdatetime = date(DATE_ISO8601, strtotime('2013-01-01 00:00:00')); 
$edatetime = date(DATE_ISO8601, strtotime('2013-06-01 00:00:00')); 

ODER

Unten Links,

http://pear.php.net/manual/en/package.webservices.xml-rpc2.client.php

https://bugs.php.net/bug.php?id=51950

kann dies Ihnen helfen.

+0

Tut mir leid, es funktioniert nicht, es wird Typ Daten als String zurückgeben, ich habe mit diesem Link http://pear.php.net/manual/en/package.webservices.xml-rpc2.client.php –

+0

nicht, weil als Referenz für andere Leute, werde ich eine für Ihre Antwort geben. Vielen Dank. –

+0

Kein Problem, Mann, vielleicht haben andere Leute Probleme mit PHP-Server Bugs, weil Ihre Antwort dort Link Verweis auf den Fehler ist. –

0

Verwendung DateTime::setISODate

$sdatetime = new DateTime('2013-01-01 00:00:00'); 
$edatetime = new DateTime('2013-06-01 00:00:00'); 

$startDate = $sdatetime->setISODate(2013); 
$endDate = $edatetime->setISODate(2013); 
+0

Ich habe mit diesem Link http://pear.php.net/manual/en/package.webservices.xml-rpc2.client.php fertig, danke für die Hilfe. –

Verwandte Themen