我将所有时间都存储在UTC中,并且我的系统设置为UTC(尽管我在EST中)。
我的日期存储为:
Wed, 20 Feb 2013 03:51:39 +0000
但是,我想为EST选择基于今天的信息,因此我试图:
获取当前时间为UTC并更改为EST
datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
2013-02-19 23:17:20.560898-05:00
接下来,我想得到EST日(2013-02-19 00:00:00.000000-05:00)的开始时间和结束时间(2013-02-19 23:59:59.99999-05:00)
一旦我有了这些值,我想转换回UTC,这样我就有了一个高值和低值,我可以用它来钳制我的EST(我的时区)。
如果这不是最好的方法,或者我错过了什么(对我来说似乎太复杂了),请帮助我看到光明!
短暂性脑缺血发作
按答案更新:
d1 = datetime.utcnow().replace(tzinfo=tz.tzutc()).astimezone(tz.gettz('America/New_York'))
print d1.strftime("%m %d %Y") ; d2 = d1.replace(day=d1.day + 1) ; print d2.strftime("%m %d %Y")
那会给我
02 20 2013
02 21 2013
这是正确的。我现在需要从中生成最长时间,然后转换为UTC。我搞不懂。实际上,我可能想在完成时转换为UTC epoch时间戳,因为这将使我的数据库操作非常简单(<;、>;、==,等等)。
我肯定会看一眼,解决你的问题需要遵循几个步骤。
首先需要分析字符串。很好地使用了Deloreanparse方法。
一旦在Delorean对象中解析了日期时间,就可以简单地转换为EST
尽管毫无意义。你从来不用它来回答你的问题,但和德洛林在一起很容易。
那么你现在在东部时间
从delorean进口delorean
现在开始truncation步骤。
执行上述简单的转换到UTC。
现在结束一天。
再往后移一秒钟。图书馆需要的东西我会更新的。只需通过使用
datetime
属性从Delorean
示例中获取datetime。祝你好运,但是这个库应该只处理日期时间操作:)
将当前时间设为UTC并将其转换为EST的第一步似乎有点毫无意义。你用那时间做什么吗?
除此之外,它似乎有点偏激。您希望获得UTC格式的一天EST的开始和结束时间,因此可以创建它们并将它们转换为UTC格式。这并不复杂。:-)
不过,您可能需要查看匹配的例程,以便可以使用“今日开始”作为较低的值,使用“明天开始”作为较高的值,这样就不必处理23:59:59.9999的时间。
更新:
根据我对你问题的最初理解,这就是你想做的:
首先你想得到当前日期,因为它是在UTC(所以在美国东部时间晚上11点12点,你想要22日,因为它是22日在UTC然后)。
其次,您希望在UTC中使用当天的00:00:00作为搜索的开始。
除了你想知道纽约的时间:
你也希望明天作为结束:
总结:
使用
datetime
pytz
将解决您的问题。相关问题 更多 >
编程相关推荐