2013-04-24 65 views
0

花了幾個小時試圖找出失敗的結果。如何將datetime.date從mysql轉換爲unix時間戳

我已經從MySQL導入了一些'日期'(而不是日期時間)字段到python列表。如果我打印的清單,該值將顯示爲:

my_list = [[100, datetime.date(2013, 3, 11)], [101, datetime.date(2013, 4, 13,)],[102,datetime.date(2013, 4, 13)] 

(...,其中101,102,103是我的相應事項標識的,你可以忽略它們)

我發現,下面將得到正確的轉換:

unix_time = time.mktime(datetime.date(2009,2,17).timetuple()) 

但是,如果我嘗試做這樣的事情:

for x in my_list: 
    x[1] = time.mktime(datetime.date(x[1]).timetuple()) 

它 不管用。

+0

只需要一個參數,您就可以在mysql中轉換日期:'select unix_timestamp(your_date)'。 – 2013-04-24 01:58:04

+0

你想在發送到mysql之前進行一些驗證..在Python中有一個mysql驅動器。但在python簡單的解決方案:請參閱此轉換:http://stackoverflow.com/questions/2460491/in-python-if-i-have-a-unix-timestamp-how-do-i-insert-that-into -a-mysql-datetim – CppLearner 2013-04-24 02:04:07

回答

3

首先解決辦法是醜陋的,新的編輯:

for x in my_list: 
    x[1] = time.mktime(x[1].timetuple()) 

應該讓你列表。無需在另一個datetime.date中包裝datetime.date

+0

不錯的作品perfet - 非常感謝。 – alpswd 2013-04-24 04:58:48

相關問題