我从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