Python datetime to microtime

2019-04-08 21:14发布

问题:

I've looked all around, and there seem to be a lot of hacks, but no simple, "good" ways to do this. I want to convert a Python datetime object into microtime like time.time() returns (seconds.microseconds).

What's the best way to do this? Using mktime() strips off the microseconds altogether, you could conceivably build up a timedelta, but that doesn't seem right. You could also use a float(strftime("%s.%f")) (accounting for rounding seconds properly), but that seems like a super-hack.

What's the "right" way to do this?

回答1:

time.mktime(dt.timetuple()) + dt.microsecond / 1000000.0 

works if you don't want to use strftime and float.

It returns the same thing as time.time() with dt = datetime.datetime.now().



回答2:

def microtime(dt):
    unixtime = dt - datetime.datetime(1970, 1, 1)
    return unixtime.days*24*60*60 + unixtime.seconds + unixtime.microseconds/1000000.0


回答3:

import time;

microtime=int(time.time()*1000);

print microtime;