PHP - 错误的日期格式

时间:2015-01-28 10:32:47

标签: php date soap

我正在尝试与SOAP服务器通信,我正在向服务器发送数据,但它拒绝我正在使用的日期格式。在过去的两天里,我确实尝试了所有内容,据我所知格式是正确的。这是我用来生成日期的代码。我已阅读过类似的问题,但我似乎无法在其中找到答案。

$_dateTo=date('Y-m-d');

Output 
2015-01-28

这是它产生的错误。

SoapFault Object ( [message:protected] => Date to is in wrong format, should be: 'YYYY-MM-DD' [string:Exception:private] 

这是XML

<message name="webrequestRequest">
<part name="studentId" type="xsd:integer"/>
<part name="type" type="xsd:string"/>
<part name="dateFrom" type="xsd:date"/>
<part name="dateTo" type="xsd:date"/>
<part name="description" type="xsd:string"/>
<part name="extraField1" type="xsd:string"/>
<part name="extraField2" type="xsd:string"/>
<part name="extraField3" type="xsd:string"/>
</message>

1 个答案:

答案 0 :(得分:0)

尝试以下操作,看看它是否会给您带来任何错误

$dateFrom = new DateTime();
$dateTo = new DateTime();

$writer = new XMLWriter();
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');

$writer->startElement('message');

    $writer->startElement('part');
        $writer->writeAttribute('name', 'studentId');
        $writer->writeAttribute('type', 'xsd:integer');
        $writer->Text();
    $writer->endElement($studentId);

    $writer->startElement('part');
        $writer->writeAttribute('name', 'type');
        $writer->writeAttribute('type', 'xsd:string');
        $writer->Text($type);
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'dateFrom');
        $writer->writeAttribute('type', 'xsd:date');
        $writer->Text($dateFrom->format('Y-m-d'));
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'dateTo');
        $writer->writeAttribute('type', 'xsd:date');
        $writer->Text($dateTo->format('Y-m-d'));
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'description');
        $writer->writeAttribute('type', 'xsd:string');
        $writer->Text($description);
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'extraField1');
        $writer->writeAttribute('type', 'xsd:string');
        $writer->Text($extraField1);
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'extraField2');
        $writer->writeAttribute('type', 'xsd:string');
        $writer->Text($extraField2);
    $writer->endElement();

    $writer->startElement('part');
        $writer->writeAttribute('name', 'extraField3');
        $writer->writeAttribute('type', 'xsd:string');
        $writer->Text($extraField3);
    $writer->endElement();

$writer->endElement(); // /message
$writer->endDocument();

$message = $writer->outputMemory(true);

不要忘记先设置你的价值。