3

私はこれに似たものを持っています

s= "2010-02-12 12:12:10"
r= repr(datetime.datetime(*time.strptime(s, "%Y-%m-%d %H:%M:%S")[:6]))
print r

出力される値はdatetime.datetime(2010, 2, 12, 12, 12, 10)

私の質問は次のとおりです: r の各値にアクセスするにはどうすればよいですか? たとえば、2012 年の値のみが必要です。r[0] を実行しようとしましたが、代わりに文字 'd' が返されます...

ありがとうございました!

4

3 に答える 3

7

なぜ使うのrepr()

>>> s = "2010-02-12 12:12:10"
>>> r = datetime.datetime(*time.strptime(s, "%Y-%m-%d %H:%M:%S")[:6])
>>> r.year
2010

dateオブジェクトの詳細については、 http: //docs.python.org/library/datetime.html#date-objectsをご覧ください。

于 2012-10-23T09:05:09.247 に答える
7

を使用reprすると、文字列に変換されます(または、実際には、Pythonが処理できるオブジェクトの*表現*表現。str datetime()は、文字列に変換するためのものです)。

シンプルに:

>>> r = datetime.datetime(*time.strptime(s, "%Y-%m-%d %H:%M:%S")[:6])
>>> r.year
2010
于 2012-10-23T09:05:53.537 に答える
3

年属性に直接アクセスできます

datetime.date.today().year
于 2012-10-23T09:06:10.957 に答える