2017-09-07 52 views
0

我正在製作一個新程序,我需要您的幫助!將datetime中的每個數據轉換爲整數

我想要做的是將每個數據從日期時間變成一個整數。例如:

我的日期(此日期存儲在數據庫中,字符串格式,所以我不能修改):

Date = '2010-07-04 12:15:58' 

我想要得到這樣的:

year = 2010 
month = 7 
day = 4 
hour = 12 
minute = 15 
second = 58 

我在做這樣的思考:

year = (int(date[0])*1000)+(int(date[1])*100)+(int(date[2])*10)+int(date[3]) 
month = (int(date[5])*10)+int(date[6]) 
day = (int(date[8])*10)+int(date[9]) 
hour = (int(date[11])*10)+int(date[12]) 
minute = (int(date[14]*10))+int(date[15]) 
second = (int(date[17])*10)+int(date[18]) 

此代碼工作,但我不知道這是解決的好辦法這或如果有另一種(和更好的)方式。

謝謝大家!

+0

大多數編程語言有一個適當的日期時間解析庫... –

回答

0

也許像這樣使用datetime模塊?我不確定是否有更簡潔的方式來反彙編日期。

import datetime as dt 

Date = '2010-07-04 12:15:58' 
date = dt.datetime.strptime(Date, '%Y-%m-%d %H:%M:%S') 
print 'Year: {}\nMonth: {}\nDay: {}\nHour: {}\nMin: {}\nSec: {}'.format(
                   date.year, 
                   date.month, 
                   date.day, 
                   date.hour, 
                   date.minute, 
                   date.second) 
+0

與此,「date.year」將是一個int 2010或字符串? – DJ007

+0

@ DJ007'date.year'將是一個int。它會自動轉換爲一個字符串,用於通過'format'進行打印。如果你不想印刷的格式(我不確定這個問題),那麼只需要'year = date.year',你就可以像你的例子一樣。 – roganjosh

+1

好的謝謝!這是一個更好的方式來做我想要的! – DJ007