On 2014-03-04 21:55, Igor Korot wrote:
Hi, Mark,
On Tue, Mar 4, 2014 at 1:44 PM, Mark Lawrence <breamore...@yahoo.co.uk
<mailto:breamore...@yahoo.co.uk>> wrote:
On 04/03/2014 20:57, Igor Korot wrote:
Hi, ALL,
I'm getting this:
timestamp out of range for platform localtime()/gmtime() function
trying to convert the timestamp with milliseconds into the
datetime object.
The first hit of Google gives me this:
http://stackoverflow.com/__questions/12458595/convert-__epoch-timestamp-in-python
<http://stackoverflow.com/questions/12458595/convert-epoch-timestamp-in-python>
but the solution described is not good for me since it does not
gives
me the milliseconds value.
How do I get the proper datetime value including milliseconds
from the
timestamp?
Thank you.
You have a long record of asking timestamp related questions so you
should know where the docs are that provide the answer to this
question. I'll leave you to go off and read them. If you don't
understand them, please cut and paste your code here, state what you
expected to happen, what actually happened, including any traceback
if applicable, and then we'll be happy to point you the error of
your ways.
Working with the dates is not that easy and not just in Python.
There are too many different formatting involved with many different
representation.
And on top of it it is possible to use one system in completely
different environment.
But this particular question is easy.
What I have is a timestamp which reads: 1289410678L.
That's an integer. It looks like the timestamp is a whole number of
seconds, so the number of milliseconds is 0. (I make it '2010-11-10
17:37:58'.)
Trying to convert this into the datetime object in Python using:
import datetime
datetime.datetime.fromtimestamp( stamp )
produces the error: timestamp out of range for platform
localtime()/gmtime() function.
This is because this timestamp is not in seconds, but rather in
milliseconds.
Now the question I have is: how do I properly convert this timestamp
into the datetime object with the milliseconds?
Using the datetime's .strftime method, you can include the number of
microseconds in the format with '%f' (it'll write the microseconds as 6
digits).
If you want it to the nearest millisecond (the timestamp would be a
float), you could round the timestamp to 3 decimal places, use the '%f'
in the format, and then truncate the string result to remove the last 3
digits.
--
https://mail.python.org/mailman/listinfo/python-list