将当前时间设置为UTC并将其转换为EST的第一步似乎没有意义。你用那个时间做什么?
除此之外,它似乎很简单。您想要获取UTC一天中EST的开始和结束时间,因此您可以创建它们并将其转换为UTC。没那么复杂。:-)
不过,您可能希望查看匹配的例程,以便可以将今天的开始用作较低的值,将明天的开始用作较高的值,因此您不必处理该23:59:59.9999时间。
更新:
根据我对您的问题的最初理解,这是您想要做的:
首先,您希望获取当前日期(以UTC表示)(因此,在美国东部标准时间晚上11点,您需要获取第22位,因为它是UTC的22号)。
>>> from datetime import datetime>>> today = datetime.utcnow().date()>>> todaydatetime.date(2013, 2, 21)
其次,您想在UTC当天的00:00:00开始搜索。
>>> from dateutil import tz>>> start = datetime(today.year, today.month, today.day, tzinfo=tz.tzutc())datetime.datetime(2013, 2, 21, 0, 0, tzinfo=tzutc())
除了您想知道纽约的时间是:
>>> from dateutil import tz>>> est = tz.gettz('America/New_York')>>> start = start.astimezone(est)>>> startdatetime.datetime(2013, 2, 20, 19, 0, tzinfo=tzfile('/usr/share/zoneinfo/America/New_York'))您也希望明天作为结局:
>>> from datetime import timedelta>>> end = start + timedelta(1)>>> enddatetime.datetime(2013, 2, 21, 19, 0, tzinfo=tzfile('/usr/share/zoneinfo/America/New_York'))概要:
today = datetime.utcnow().date()start = datetime(today.year, today.month, today.day, tzinfo=tz.tzutc()).astimezone(est)end = start + timedelta(1)



