如何将"2021-08-24T11:00:19Z"转换为日期时间,并在 django 中查找它与当前时间之间的天数



我从youtube的api为视频对象获得以下publishhedat字符串'2021-08-24T11:00:19Z'。但是我不知道如何将它转换为datetime对象,并找到它和当前时间之间的小时数。

我尝试了下面的代码,但它没有工作

view.py

from django.utils import timezone
from datetime import datetime
today = timezone.now()
publishedAt = datetime.fromtimestamp('2021-08-24T11:00:19Z')
daysOld = (today - publishedAt).days

但是在这一行我得到了下面的错误publish_date = datetime.fromtimestamp('2021-08-24T11:00:19Z')

TypeError: an integer is required (got type str)

我不明白如何将字符串转换为日期时间对象并获得差异。

这里提供的字符串是由ISO 8601标准[wiki]格式化的日期时间。您可以使用parser.isoparse(…)对其进行解析方法[Python-doc]从dateutil包:

>>> from dateutil.parser import isoparse
>>> isoparse('2021-08-24T11:00:19Z')
datetime.datetime(2021, 8, 24, 11, 0, 19, tzinfo=tzutc())

你可以这样安装包:

pip3 installpython-dateutil

,然后运行:

from django.utils import timezone
from dateutil.parse importisoparse
today = timezone.now()
publish_date =isoparse('2021-08-24T11:00:19Z')
diff = today - publish_date

最新更新