我想比较这两个日期,而这些日期来自微服务,如下所示:
[{"visitId": 1, "userId": 1, "branchId": 1, "date": "2020-07-28T00:00:00.000Z"},{"visitId": 2,"userId": 1,"branchId": 2,"date": "2020-07-28T00:00:00.000Z"}]
如何解析日期并比较它们是否相等。
我尝试了下面的代码,它给了我价值错误:
from datetime import datetime
datetime.fromisoformat(dt)
ValueError: Invalid isoformat string: '2020-07-28T00:00:00.000Z'
谢谢
答案 0 :(得分:2)
from datetime import datetime
data = [
{"visitId": 1, "userId": 1, "branchId": 1, "date": "2020-07-28T00:00:00.000Z"},
{"visitId": 2, "userId": 1, "branchId": 2, "date": "2020-07-28T00:00:00.000Z"},
]
d1 = datetime.strptime(data[0]["date"], "%Y-%m-%dT%H:%M:%S.%fZ")
d2 = datetime.strptime(data[1]["date"], "%Y-%m-%dT%H:%M:%S.%fZ")
d1
和d2
是日期时间对象,现在您可以使用“比较”运算符进行比较。
答案 1 :(得分:0)
您可以使用dateutil
库。更加灵活
In [73]: a
Out[73]:
[{'visitId': 1,
'userId': 1,
'branchId': 1,
'date': '2020-07-28T00:00:00.000Z'},
{'visitId': 2,
'userId': 1,
'branchId': 2,
'date': '2020-07-28T00:00:00.000Z'}]
In [75]: b = []
In [76]: for i in a:
...: b.append(dateutil.parser.parse(i["date"]))
...:
In [77]: b
Out[77]:
[datetime.datetime(2020, 7, 28, 0, 0, tzinfo=tzutc()),
datetime.datetime(2020, 7, 28, 0, 0, tzinfo=tzutc())]