我在PHP应用程序中使用了用C#编写的API。特定方法所需的一个参数是DateTime
类型。我已经尝试了C# DateTime type over web service with PHP & SOAP中给出的答案,但这些答案都没有。
我正在使用Soap扩展程序。此外,网络服务是由政府机构编写的,我确信每个使用政府API的人都知道让他们改变他们的论点是多么困难。所以,如果解决方案不包含"与他们交谈并说服他们"我会很感激。
答案 0 :(得分:1)
实际上应该很简单。
大多数Web服务将SOAP消息中的datetime写为ISO 8601字符串。例如,2014-11-15T18:32:17+00:00
。
以下是使用PHP编写ISO 8601格式字符串的几点建议:
How to display a date as iso 8601 format with PHP
<?= date("c", strtotime($post[3])) ?>
......或......
new DateTime('17 Oct 2008'))->format('c');
强烈建议:
获取SoapUI的副本,并查看在PHP服务器和C#/ SOAP服务器之间传递的实际SOAP消息: