var ts = new Date().getTime()
What is the proper way to convert it to a Python
datetime so far I use the following code
>>> jsts = 1335205804950 >>> dt = datetime.datetime.fromtimestamp(jsts/1000) >>> dt datetime.datetime(2012, 4, 24, 0, 30, 4)
I divide timestamp by 1000 because I get error like
ValueError Traceback (most recent call last) 1 d = datetime.datetime.fromtimestamp(a) ValueError: year is out of range
datetime.datetime.fromtimestamp() expects a timestamp in seconds.
To preserve the millisecond accuracy you can divide by
1000.0, so you are using float division instead of integer division:
>>> dt = datetime.datetime.fromtimestamp(jsts/1000.0) >>> dt datetime.datetime(2012, 4, 23, 11, 30, 4, 950000)
The way you do it is the correct way, because js includes milliseconds in the date/time. Python (and PHP) as far as I know, don't.
For more precision you could use
For others still getting an error: I had a similar issue but the unix timestamp was in microseconds, i.e. I had to divide the timestamp by 1000000 to get the correct result.
dt = datetime.datetime.fromtimestamp(1502360499615921)
©2020 All rights reserved.