2016-12-05 8 views
-1

私は日付を分割して整数に変換しようとしています。私のコードを次のように置くと、私はまだそれを行うことができますか?これを達成するための birthdate = '10/08/78'bmonth, bday, byear = birthdate.split('/')リストを整数に変換する

+2

オム:

は、あなたが次のコードを使用する必要がある整数を取得するには? – TigerhawkT3

+0

'birthday'を' birthdate'に置き換えてyesにした場合(またはその逆)、変数名の整合性を保つだけです。 – grammar31

+0

私の間違いは、 'bmonth、bday、byear = birthdate.split( '/')' –

答えて

1

あり方はとして​​モジュールを使用して経由で:

>>> from datetime import datetime 
>>> date = datetime.strptime('10/08/78', '%m/%d/%y') 
>>> date.month, date.day, date.year 
(10, 8, 1978) 
#  ^Returns complete year 

しかし、あなたはちょうどそれが言及されている形式の文字列から抽出したい場合。あなたはあなたが言及したようにそれをするかもしれません。

>>> month, day, year = '10/08/78'.split('/') 
>>> month, day, year 
('10', '08', '78') 
#   ^you get as it is value 
+0

BTW: 'locale'が' en_US'の場合、 'strptime'フォーマットとして'%x'だけ使用できます。 – AChampion

0

コードでは整数が作成されません。 bmonth, bday, byear変数には文字列値が入ります。はい........

birthdate = '10/08/78' 
birthdate_split = list() 
for item in birthdate.split('/'): 
    birthdate_split.append(int(item)) 
bmonth, bday, byear = birthdate_split 
+0

bmonth = int(bmonth)より短い方法を知っていますか? bday = int(bday) byear = int(byear) ' –

+0

' bmonth、bday、byear = map(int、birthdate.split( '/')) 'しかし、@MoinuddinQuadriは' datetime'を使って答えます - これが最善の方法です。 – AChampion

+0

私はdatetimeを使いたいですが、私はそれをこのようにしなければなりません –

0
from datetime import datetime 
date=datetime.strptime('10/08/1978', '%m/%d/%Y') 
date.month 
関連する問題