使用
Python 2.6.x使用xmlrpclib在客户端和服务器之间交换的消息在服务器端创建了一种“实例”,而不是类型“datetime”.
在客户端我创建了一个新的
updateTime = datetime(year, month, day, hour, minute, second)
print type(updateTime)
print updateTime
结果是
<type 'datetime.datetime'>
2015-10-07 10:21:52
在发送时,字典在客户端看起来像这样:
'updateTime': datetime.datetime(2015, 10, 7, 10, 21, 52)
但是服务器端的传入字典看起来像这样:
'updateTime': <DateTime '20151007T10:21:52' at 7f4dbf4ceb90>
打印类型及其字符串表示如下所示:
<type 'instance'>
20151007T10:21:52
我们正在使用xmlrpclib.ServerProxy,但将use_datetime更改为True或False完全没有任何区别.
xmlrpclib.ServerProxy('https://'+rpc_server_addr, allow_none=True, use_datetime=True)
为什么会这样?我期待接收方的tpye’datetime.datetime’.
最佳答案 您必须将xmlrpc.datetime格式转换为python datetime.datetime对象.
我发现转换对象的最简单方法是:
import datetime
my_datetime = datetime.datetime.strptime(str(xmlrpc.datetime), '%Y%m%dT%H:%M:%S')