我正在使用Django Rest框架来使用来自。net服务器的API帖子。
JSON.net生成的iso-8061日期时间如下:
"doTime": "2016-10-25T20:26:46.1726639Z"
我的序列化器或多或少是:
class DoStuffSerializer(serializers.Serializer):
timeformats = ["iso-8061", "rfc-3339", "%Y-%m-%dT%H:%M:%S.%fZ", "%Y-%m-%dT%H:%M:%SZ", "%Y-%m-%dT%H:%M:%S.%f", "%Y-%m-%dT%H:%M:%S"]
whereStuff = AddressSerializer(required=True)
doTime = serializers.DateTimeField(input_formats=timeformats, required=False)
和序列化错误:
{
"doTime": [
"Datetime has wrong format. Use one of these formats instead:
iso-8061,
rfc-3339,
YYYY-MM-DDThh:mm:ss.uuuuuuZ,
YYYY-MM-DDThh:mm:ssZ,
YYYY-MM-DDThh:mm:ss.uuuuuu,
YYYY-MM-DDThh:mm:ss"
]
}
(格式为清晰)
我试图解释额外的小数点,但这不起作用,因为来自JSON.net版本的iso-8061的小数超过了微秒,Python的strptime卡住了。
.1726639z
.uuuuuuZ
有什么建议吗?
可能是因为ISO 8061处理高山滑雪绑定(http://iso.org/obp/ui/#iso:std:iso:8061:ed-4:v1:en),这与编程完全无关。也许你指的是8601
?