Traceback (most recent call last): File "C:\Users\DELL\Desktop\次席切换比对\比对.py", line 13, in <module> dt1 = dt.datetime.strptime(i, "%Y-%m-%d") TypeError: strptime() argument 1 must be str, not datetime.datetime
时间: 2023-12-19 10:18:49 浏览: 114
这个错误提示表明,在你的代码中,你试图将一个 `datetime.datetime` 类型的对象作为参数传递给 `datetime.datetime.strptime` 方法,但是该方法需要的是一个字符串类型的日期时间。因此,Python 抛出了一个 `TypeError` 异常,提示你传递的类型不正确。
要解决这个问题,需要将 `datetime.datetime.strptime` 方法的参数改成一个字符串类型的日期时间。如果你想将一个 `datetime.datetime` 对象转换为指定格式的字符串,可以使用 `datetime.datetime.strftime` 方法。具体来说,这个方法会将一个日期时间对象按照指定的格式转换为字符串。
下面是一个示例代码,将一个 `datetime.datetime` 对象转换为格式为 `%Y-%m-%d` 的字符串:
```python
import datetime
dt = datetime.datetime(2023, 6, 5, 0, 0, 0) # 创建一个日期时间对象
s = dt.strftime("%Y-%m-%d") # 将日期时间对象转换为格式为 %Y-%m-%d 的字符串
print(s) # 输出:2023-06-05
```
在上面的代码中,首先使用 `datetime.datetime` 构造函数创建了一个日期时间对象 `dt`,表示 2023 年 6 月 5 日 00:00:00 这个时刻。接着,使用 `dt.strftime` 方法将这个对象转换为格式为 `%Y-%m-%d` 的字符串,并将结果保存在变量 `s` 中。最后,将 `s` 打印出来,可以看到它的值是 "2023-06-05",与上面的错误提示中要求的格式相同。
阅读全文