如何从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']
如何从part-datetime.datetime(2015,12,26,0,0)中获取年份、月份和日期。我想我可以使用regex,但一定有更好的方法。
这是一个列表对象,其中有一个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
以下是如何将这些字段分别作为整数获取:
>>> 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'
在这种情况下,看起来datatime
对象实际上是一个双元素列表,第一个元素是datetime对象,第二个元素是string。因此,要获得datetime对象,您只需要在示例代码中使用datatime[0]
来代替dt
。
month
、year
和day
属性。
now = datetime.datetime.now()
print(now.day)
print(now.month)
print(now.year)
您可以使用日历获取月份名称:
import calendar
calendar.month_name[datetime.datetime.now().month] # Output "April"
对于现在正在寻找它的人来说,以下是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