Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以拥有一个时区感知的datetime.date对象吗?_Python_Date_Datetime - Fatal编程技术网

Python 我可以拥有一个时区感知的datetime.date对象吗?

Python 我可以拥有一个时区感知的datetime.date对象吗?,python,date,datetime,Python,Date,Datetime,我有一种情况,我想储存日期,但我也希望他们是时区意识?我是否必须使用datetime.datetime进行此操作,或者我是否可以拥有时区感知的datetime.date对象?否,您不能拥有时区感知的datetime.date对象 from datetime import datetime from pytz import timezone datetime_obj = datetime.now(timezone('US/Eastern')) date_obj = datetime_obj.dat

我有一种情况,我想储存日期,但我也希望他们是时区意识?我是否必须使用datetime.datetime进行此操作,或者我是否可以拥有时区感知的datetime.date对象?

否,您不能拥有时区感知的datetime.date对象

from datetime import datetime
from pytz import timezone
datetime_obj = datetime.now(timezone('US/Eastern'))
date_obj = datetime_obj.date()
日期不能区分时区,因为它只是一天中不同区域的时间,根据需要拖动日期


换句话说:在任何时区,三月一日都是三月一日。一个给定的地理位置可能在不同的时间到达该日期,但去掉时间部分,您只剩下3个数字:一年、一个月和一天。

日期对象不接受时区,但是,我们可以通过创建一个时区感知的datetime对象,然后使用其date函数来获取date对象来解决这个问题

from datetime import datetime
from pytz import timezone
datetime_obj = datetime.now(timezone('US/Eastern'))
date_obj = datetime_obj.date()

为什么我要在StackOverflow效率更高且对其他人也有用的情况下尝试它?因为你可以回答自己的问题,即为什么。当StackOverflow速度更快时,这对我或其他人有什么好处?你自己养鸡吗?不,我也不会占用别人的时间就我可以轻松回答的问题提问——即使我认为别人会从我的提问中受益。你说的没有意义,因为那个日期在不同的时区也不同。@阿披舍克拉姆:什么,那么3月1日突然不是另一个时区的3月1日了?可能是3月1日晚一点或更早一点,但这是时间的属性。日期对象不再具有时间属性。@AbhishekRam:这就像说今天的12点与昨天的12点不同。两者都只是时间值,小时=12,分钟=0,秒=0。你还需要日期和时区,但是你又有了一个datetime对象。date对象的不同仅仅是因为它来自一个时区感知的datetime对象。它只有年、月和日属性。美国/东部日期与印度标准时间日期没有区别。