在 Python 中,假设我的日期是 2016 年 12 月 25 日。如何创建该日期中午的时区感知日期时间?
如果它与 Django 的时区处理兼容,那就加分了。
诀窍是首先combine
将天真的时间和日期转换为天真的日期时间。然后可以将此原始日期时间转换为感知日期时间。
可以使用第三方包来完成转换pytz
(在本例中使用“欧洲/伦敦”时区):
import datetime
import pytz
naive_time = datetime.time(0, 30)
date = datetime.date(2016, 12, 25)
naive_datetime = datetime.datetime.combine(date, naive_time)
timezone = pytz.timezone('Europe/London')
aware_datetime = timezone.localize(naive_datetime)
如果您在 Django 中执行此操作,并且想要使用当前时区(如 Django 中配置的那样),则可以将最后两行替换为调用make_aware
:
from django.utils import timezone
aware_datetime = timezone.make_aware(naive_datetime)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)