Python TypeError:“datetime.datetime”对象不可下标。无法打印所需的号码

Python TypeError: 'datetime.datetime' object is not subscriptable. Unable to print desired number

提问人:Colton Pelletier 提问时间:7/11/2023 更新时间:7/11/2023 访问量:76

问:

使用此代码code,我尝试从此日期中提取日期。在此示例中,该值为 30。当我尝试使用 range[] 函数打印时,出现错误。我怎样才能只打印这个想要的号码?

我无法变成 str 函数或使用范围函数来选择我想要的数字。

python 字符串 datetime typeerror

评论

1赞 jasonharper 7/11/2023
如果你想要这一天,那只是.、 等也是如此。dt_m.dayyearmonth

答:

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
工作完美!非常感谢。