tags:

views:

94

answers:

3

I need to convert a zope 2 DateTime object into a Python datetime object. What is the best way to do that? Thanks, Erika

A: 

If you mean this one

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

then reverse is

>>> 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)
S.Mark
+1  A: 
modernthingy = datetime.datetime.fromtimestamp(zopethingy.timeTime())

The datetime instance is timezone-naive; if you need to support timezones (as Zope2's DateTime does), I recommend third-party extension package pytz.

Alex Martelli
A: 

Newer DateTime implementations (2.11 and up) have a asdatetime method that returns a python datetime.datetime instance:

modernthingy = zopethingy.asdatetime()
Martijn Pieters