Datetime object



如何从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

日期时间对象具有monthyearday属性。
 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

相关内容

最新更新