Python datetime to microtime

2019-04-08 21:45发布

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?

3条回答
男人必须洒脱
2楼-- · 2019-04-08 21:59
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().

查看更多
SAY GOODBYE
3楼-- · 2019-04-08 22:16

import time;

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

print microtime;

查看更多
迷人小祖宗
4楼-- · 2019-04-08 22:18
def microtime(dt):
    unixtime = dt - datetime.datetime(1970, 1, 1)
    return unixtime.days*24*60*60 + unixtime.seconds + unixtime.microseconds/1000000.0
查看更多
登录 后发表回答