我有一种情况,我想存储日期,但我也希望它们能够识别时区?我是否必须使用datetime.datetime
,或者我可以使用时区感知的datetime.date
对象吗?
答案 0 :(得分:4)
不,您不能拥有时区感知datetime.date
对象。
日期不能是时区感知的,因为它只是时间的不同区域,并根据需要拖动日期。
换句话说:3月1日是任何时区的3月1日。给定的地理位置可能会在不同的时间到达该日期,但会删除时间组件,而您拥有的只有3个数字:一年,一个月和一天。
答案 1 :(得分:-2)
日期对象不接受时区,但我们可以通过创建时区感知的日期时间对象然后使用其日期函数来获取日期对象来解决此问题。
from datetime import datetime
from pytz import timezone
datetime_obj = datetime.now(timezone('US/Eastern'))
date_obj = datetime_obj.date()