将zope DateTime对象转换为Python datetime对象的最佳方法是什么?

8 投票
3 回答
1532 浏览
提问于 2025-04-15 21:15

我需要把一个zope 2的DateTime对象转换成Python的datetime对象。有什么好的方法吗?谢谢,Erika

3 个回答

1

如果你指的是这个

.strftime('%m/%d/%Y %H:%M') =  04/25/2005 10:19

那么反向操作就是

>>> time.strptime('04/25/2005 10:19','%m/%d/%Y %H:%M')
time.struct_time(tm_year=2005, tm_mon=4, tm_mday=25, tm_hour=10, tm_min=19, tm_sec=0, tm_wday=0, tm_yday=115, tm_isdst=-1)
11

更新版的 DateTime 实现(2.11 及以上版本)有一个叫做 asdatetime 的方法,这个方法会返回一个 Python 的 datetime.datetime 实例:

modernthingy = zopethingy.asdatetime()
7
modernthingy = datetime.datetime.fromtimestamp(zopethingy.timeTime())

这个datetime实例是没有时区信息的;如果你需要支持时区(就像Zope2的DateTime那样),我推荐你使用一个第三方的扩展包pytz

撰写回答