提问人:Colton Pelletier 提问时间:7/11/2023 更新时间:7/11/2023 访问量:76
Python TypeError:“datetime.datetime”对象不可下标。无法打印所需的号码
Python TypeError: 'datetime.datetime' object is not subscriptable. Unable to print desired number
问:
使用此代码,我尝试从此日期中提取日期。在此示例中,该值为 30。当我尝试使用 range[] 函数打印时,出现错误。我怎样才能只打印这个想要的号码?
我无法变成 str 函数或使用范围函数来选择我想要的数字。
答:
1赞
ti7
7/11/2023
#1
DateTime 对象具有其组件的命名属性,因此您应该能够仅引用 !.day
>>> datetime.datetime.now().day
10
您可以查看对象的所有方法和属性dir()
>>> import datetime
>>> from datetime import timezone
>>> d = datetime.datetime.now(tz=timezone.utc)
>>> dir(d)
['__add__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'astimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fold', 'fromisocalendar', 'fromisoformat', 'fromordinal', 'fromtimestamp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'min', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 'strptime', 'time', 'timestamp', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year']
评论
1赞
Colton Pelletier
7/11/2023
哦,非常有趣!我不知道dir()命令。这肯定会对我今后的努力有所帮助。感谢您的帮助!
1赞
Hunter Garrison
7/11/2023
#2
如果您尝试提取日期,则应使用 datetime 模块中的 .day。
dt_m = datetime.datetime.fromtimestamp(m_time)
print(dt_m.day)
输出将是当天,或者在您的情况下是 30。
评论
1赞
Colton Pelletier
7/11/2023
工作完美!非常感谢。
评论
dt_m.day
year
month