我在django工作,但标准的python解决方案也可以。
我正在将一个使用天真日期时间的代码转换为使用感知日期时间。
以下是原始代码:
today = datetime.today()
MyClass.objects.filter(datetimefield__range=(today, today+datetime.timedelta(1)) )
如何将其转换为使用时区感知时间?
如果时间为当地时间6月3日/7:20,
我想得到[jun/3rd/00:00am, jun/4th/00:00am]
的日期时间范围(午夜至午夜,包括now
)
我知道这已经很旧了,但使用django.utils.timezone这相当简单。(对我来说,没有任何关于时区的事情是容易的)
# this is could be any datetime.date
my_date = timezone.now().date()
dt_at_local_midnight = timezone.make_aware(
timezone.datetime.combine(my_date, time.min),
timezone.get_current_timezone())
下面的第一条评论中列出了可能更好的替代方案。