364,111 Members | 2059 Browsing Online
Community for Developers & IT Professionals
Bytes IT Community

datetime to timestamp

Simen Haugen
P: n/a
Simen Haugen
Hi.

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...?)

-Simen

Aug 11 '06 #1
Share this Question
Share on Google+
5 Replies


John Machin
P: n/a
John Machin
On 11/08/2006 11:10 PM, Simen Haugen wrote:
Hi.
>
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...?)
>
-Simen
>
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)

Cheers,
John
Aug 11 '06 #2

John Machin
P: n/a
John Machin
On 11/08/2006 11:35 PM, John Machin wrote:
On 11/08/2006 11:10 PM, Simen Haugen wrote:
>Hi.
>>
>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...?)
>>
>-Simen
>>
>
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)

Aaaarrrggghhh no it's not what you want -- looks like you have to do the
arithmetic yourself, starting with toordinal()
Aug 11 '06 #3

Sion Arrowsmith
P: n/a
Sion Arrowsmith
John Machin <sjmachin@lexicon.netwrote:
>On 11/08/2006 11:35 PM, John Machin wrote:
>On 11/08/2006 11:10 PM, Simen Haugen wrote:
>>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...?)
>Is the timetuple() method what you want?
[ ... ]
>Aaaarrrggghhh no it's not what you want -- [ ... ]
It is if you only want it to the second. It just needs a time.mktime():
>>n = time.time()
>>n
1155307613.4550381
>>d = datetime.datetime.fromtimestamp(n)
>>time.mktime(d.timetuple())
1155307613.0

(timetuple() is responsible for the loss of the fractional part.)

--
\S -- siona@chiark.greenend.org.uk -- http://www.chaos.org.uk/~sion/
___ | "Frankly I have no feelings towards penguins one way or the other"
\X/ | -- Arthur C. Clarke
her nu becomež se bera eadward ofdun hlęddre heafdes bęce bump bump bump
Aug 11 '06 #4

Tim Peters
P: n/a
Tim Peters
[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 ;-)
Aug 11 '06 #5

John Machin
P: n/a
John Machin

Tim Peters wrote:
[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())
>
Thanks, Tim. In mitigation, yer honour, I'd like to draw your attention
to the local time (23:32); the defendant was rushing to do the OP's
RTFantasticM for him before retiring for the night, and not doing it
well enough :-)
Cheers,
John

Aug 11 '06 #6

Post your reply

Help answer this question



Didn't find the answer to your Python question?

You can also browse similar questions: Python python timestamp timestamp python