繁体   English   中英

日期时间对象

[英]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']

如何从零件datetime.datetime(2015,12,26,0,0)中获取年,月和日。 我想我可以使用正则表达式,但是必须有更好的方法来做到这一点。

它是一个列表对象, 其中一个 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

Datetime对象具有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"

这是如何分别将这些字段作为整数获取:

>>> 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对象,只需在示例代码中使用datatime datatime[0]代替dt

对于现在正在寻找它的任何人,这是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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM