2017-02-27 132 views
1

我想將現在的datestamp轉換爲Unix TimeStamp,但是下面的代碼似乎被打了,但後來只是跳到我的應用程序的結尾,因爲在似乎不喜歡time.mktime部分。轉換爲unix時間戳Python

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) 
+0

添加'*':'time.mktime(* date ...' – thebjorn

+2

'strptime'解析基於格式spec的日期字符串 - 'toDayDate'不是日期字符串,它是一個日期,所以你應該不需要解析任何東西...... – mgilson

+0

[將Python日期轉換爲Unix時間戳]的可能重複(https://stackoverflow.com/questions/29298677/convert-python-date-to-unix-timestamp) –

回答

5

變化

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

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

作爲一個例子,我做的事:

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

並得到unix_secs = 1488214742.0

1

您可以在Python 3中使用datetime.timestamp()獲取POSIX時間戳而不是使用now()

返回的值是float類型。 timestamp()依賴於datetime,而這依靠mktime()。但是,datetime.timestamp()支持更多的平臺並具有更廣泛的值。