5

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

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

以下是原始代码:

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

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

如果本地时间是 jun/3rd/7:20pm,
我想获取日期时间范围[jun/3rd/00:00am, jun/4th/00:00am] (午夜到午夜,其中包括now

4

1 回答 1

3

我知道这已经很老了,但是使用 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())

下面的第一条评论中列出了可能更好的替代方案。

于 2014-10-30T03:38:41.050 回答