如何在python中获得时区感知的午夜日期时间?

时间:2013-07-19 09:16:49

标签: python date datetime timezone

我在django工作,但标准的python解决方案也可以。

我正在转换使用naive-datetime的代码来使用aware-datetime。

以下是原始代码:

today = datetime.today()
MyClass.objects.filter(datetimefield__range=(today, today+datetime.timedelta(1)) )

如何将其转换为使用时区感知时间?

如果时间是当地的jun / 3rd / 7:20,那么 我希望日期时间范围为[jun/3rd/00:00am, jun/4th/00:00am] (午夜到午夜,包括now

1 个答案:

答案 0 :(得分:0)

我知道这是非常古老的,但使用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())

以及可能更好的替代方案列于下面的第一条评论中。