datetime to timestamp

Tim Peters tim.peters at gmail.com
Fri Aug 11 10:57:41 EDT 2006


[Simen Haugen]
>>> How can I convert a python datetime to a timestamp? It's easy to convert
>>> a timestamp to datetime (datetime.datetime.fromtimestamp(), but the
>>> other way around...?)

[John Machin]
>> Is the timetuple() method what you want?
>>
>> #>>> import datetime
>> #>>> n = datetime.datetime.now()
>> #>>> n
>> datetime.datetime(2006, 8, 11, 23, 32, 43, 109000)
>> #>>> n.timetuple()
>> (2006, 8, 11, 23, 32, 43, 4, 223, -1)

[also John]
> Aaaarrrggghhh no it's not what you want

Yes, it is ;-)

> -- looks like you have to do the arithmetic yourself, starting with toordinal()

It's just one step from the time tuple:

    import time
    time.mktime(some_datetime_object.timetuple())

The datetime module intended to be an island of relative sanity.
Because the range of dates "timestamps" can represent varies across
platforms (and even "the epoch" varies), datetime doesn't even try to
produce timestamps directly -- datetime is more of an alternative to
"seconds from the epoch" schemes.  Because datetime objects have
greater range and precision than timestamps, conversion is
problem-free in only one direction.  It's not a coincidence that
that's the only direction datetime supplies ;-)



More information about the Python-list mailing list