1

datetime.datetime オブジェクトから年と月を取得するにはどうすればよいですか? 問題があるコードは次のとおりです。

w = whois.whois('http://stackoverflow.com')
datatime = w.expiration_date
print datatime

印刷されたオブジェクトは次のとおりです。

[datetime.datetime(2015, 12, 26, 0, 0), u'2015-12-26T19:18:07-07:00']

datetime.datetime(2015, 12, 26, 0, 0) の部分から年、月、日を取得するにはどうすればよいですか。正規表現を使用できると思いますが、これを行うためのより良い方法があるはずです。

4

4 に答える 4

2

これは、 1 つの datetimeオブジェクトと ISO 8601 文字列を含むリスト オブジェクトです。最初のオブジェクトで属性を使用するだけです:

datatime[0].year
datatime[0].month
datatime[0].day

デモ:

>>> datatime
[datetime.datetime(2015, 12, 26, 0, 0), u'2015-12-26T19:18:07-07:00']
>>> datatime[0]
datetime.datetime(2015, 12, 26, 0, 0)
>>> datatime[0].year
2015
>>> datatime[0].month
12
>>> datatime[0].day
26
于 2014-04-11T18:30:27.740 に答える
1

これらのフィールドを整数として個別に取得する方法は次のとおりです。

>>> import datetime
>>> dt = datetime.datetime(2015, 12, 26, 0, 0)
>>> dt.year
2015
>>> dt.month
12
>>> dt.day
26

strftime()または、これらのフィールドだけを文字列にフォーマットする場合は、たとえば次のように使用できます。

>>> dt.strftime('%Y-%m-%d')
'2015-12-26'

この場合、オブジェクトは実際には 2 つの要素のリストのように見えますdatatime。最初の要素は datetime オブジェクト、2 番目の要素は文字列です。したがって、datetime オブジェクトを取得するには、サンプル コードdatatime[0]の の代わりに使用します。dt

于 2014-04-11T18:32:46.913 に答える
1

日時オブジェクトにはmonth、属性yearday属性があります。

 now = datetime.datetime.now()
 print(now.day)
 print(now.month)
 print(now.year)

月の名前を取得するために calendar を使用できます。

import calendar
calendar.month_name[datetime.datetime.now().month]  # Output "April"
于 2014-04-11T18:31:41.437 に答える
0

これを今探している人のために、Python 3.7.4 の更新された回答と時間情報を次に示します。

>>> datatime
datetime.datetime(2020, 2, 2, 11, 59, 59)
>>> print(datatime)
2020-02-02 11:59:59
>>> datatime.year
2020
>>> datatime.month
2
>>> datatime.day
2
>>> datatime.hour
11
>>> datatime.minute
59
>>> datatime.second
59
>>> datatime.microsecond
0
于 2019-07-21T11:24:20.687 に答える