2017-09-07 5 views
0

私は新しいプログラムを作成しています。私はあなたの助けが必要です!datetimeから各データを整数に変換します

私がしようとしているのは、datetimeから各データを整数に変換することです。例えば:

私の日付が(この日付は、文字列形式で、データベースに保存されているので、私はそれを変更することはできません)されています

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

Date = '2010-07-04 12:15: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

ほとんどのプログラミング言語は、ライブラリを解析し、適切な日時を持っている...この、「date.year」と –

答えて

0

datetimeモジュールを使用したこのようなものでしょうか?私は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

はint型2010または文字列になりますか? – DJ007

+0

@ DJ007 'date.year'はintになります。 'format'を介して印刷するために自動的に文字列に変換されます。あなたが印刷された書式(私は質問からわからなかった)を望まないならば、 'year = date.year'を持って、あなたの例と同じものを得るでしょう。 – roganjosh

+1

よろしくお願いいたします。私が欲しいものをやるより良い方法です! – DJ007

関連する問題