1

私は次の作業コードを持っています:

import datetime

d = "2012-12-19"                
f = map(int,  d.split('-') )
day = datetime.date( f[0], f[1], f[2] )

print day

しかし、私がそれをこのように書き込もうとすると:

day = datetime.date( f )

例外が発生します:TypeError:整数が必要です

それはなぜですか、そしてどうすればこれをより良く書くことができますか?

4

3 に答える 3

5

最善の方法は、次のdatetime.strptime()方法を使用することです。

datetime.datetime.strptime(d, '%Y-%m-%d').date()

デモ:

>>> import datetime
>>> d = "2012-12-19"                
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date()
datetime.date(2012, 12, 19)

などを渡していませんがf[0]、それを行っていればメソッドは機能していたはずです。

datetime.date(*f)
于 2012-12-19T13:36:08.527 に答える
1

引数リストをそのまま渡すのではなく、パックしますdate()

day = datetime.date(*f)
于 2012-12-19T13:35:51.430 に答える
1

まあ、少なくともこれはより読みやすいです:

day = datetime.date(year=f[0], month=f[1], day=f[2])
于 2012-12-19T13:35:59.760 に答える