我有一个简单的函数,它返回Django中一天的开始(默认情况下,今天的一天):
import datetime
from django.utils.timezone import make_aware
def DayBeginning(DateTime="Now"):
if DateTime == "Now":
DateTime = make_aware(datetime.datetime.today())
year = DateTime.year
month = DateTime.month
day = DateTime.day
return make_aware(datetime(year, month, day, 0, 0, 0, 0))
我担心如果我调用两次“make_aware”,我可能会抵消结果。我做得对吗?(我的时区是'欧洲/巴黎')
PS:请随意批评我的代码,我是一个新手开发者
2条答案
按热度按时间kxe2p93d1#
我会这样做:
rjzwgtxy2#
感谢@Kevin Christopher亨利我能够编写一个更好的函数:
我想使用make_aware来始终使用我的服务器的时区设置,我不确定本地时间(例如,如果服务器不在同一个国家)
make_aware返回一个ValueError,如果你给予它一个已经有时区设置的日期时间,这就是try/except的原因。