Converting to unix timestamp Python

2020-02-12 08:46发布

I am trying to convert a datestamp of now into Unix TimeStamp, however the code below seems to be hit but then just jumps to the end of my app, as in seems to not like the time.mktime part.

from datetime import datetime
import time

now = datetime.now()
toDayDate = now.replace(hour=0, minute=0, second=0, microsecond=0)
newDate = time.mktime(datetime.strptime(toDayDate, "%Y-%m-%d %H:%M:%S").timetuple())
print(newDate)

2条回答
Rolldiameter
2楼-- · 2020-02-12 09:23

Change

newDate = time.mktime(datetime.strptime(toDayDate, "%Y-%m-%d %H:%M:%S").timetuple())

to

newDate = time.mktime(datetime.timetuple())

as an example I did:

from datetime import datetime
from time import mktime
t = datetime.now()
unix_secs = mktime(t.timetuple())

and got unix_secs = 1488214742.0

查看更多
Lonely孤独者°
3楼-- · 2020-02-12 09:41

You could use datetime.timestamp() in Python 3 to get the POSIX timestamp instead of using now().

The value returned is of type float. timestamp() relies on datetime which in turn relies on mktime(). However, datetime.timestamp() supports more platforms and has a wider range of values.

查看更多
登录 后发表回答