目录
AttributeError module ‘datetime’ has no attribute ‘strptime’
- 模块“datetime”没有属性“strptime”
- 模块“datetime”没有属性“strftime”
- 模块“日期时间”没有属性“今天”
- 模块“datetime”没有属性“fromtimestamp”
- 模块“日期时间”没有属性“现在”
AttributeError 模块 ‘datetime’ 没有属性 ‘strptime’
strptime
当我们尝试直接在模块上调用方法时,会出现错误“AttributeError module ‘datetime’ has no attribute ‘strptime’” datetime
。
要解决该错误,请使用以下导入import datetime
并将该
strptime
方法调用为datetime.datetime.strptime(...)
.
下面是错误如何发生的示例。
import datetime # ⛔️ AttributeError: module 'datetime' has no attribute 'strptime' dt = datetime.strptime("21/11/22 09:30", "%d/%m/%y %H:%M") print(dt)
strftime
问题是我们试图strptime
直接在
datetime
模块上调用该方法。
改为调用类strptime
上的方法datetime
要解决该错误,请改为调用类strptime
上的方法datetime
。
import datetime dt = datetime.datetime.strptime( "21/11/22 09:30", "%d/%m/%y %H:%M" ) print(dt) # 👉️ 2022-11-21 09:30:00
datetime.py
因为这会影响官方datetime
模块。 或者,你可以datetime
直接导入类
datetime
或者,您可以更改 import 语句以从模块中导入类,datetime
而不必输入看起来datetime.datetime
很混乱的内容。
from datetime import datetime dt = datetime.strptime("21/11/22 09:30", "%d/%m/%y %H:%M") print(dt) # 👉️ 2022-11-21 09:30:00
我们
从datetime模块导入了datetime类
,并调用了
该类的strptime方法。
datetime
模块中有一个名为的类,这很令人困惑datetime
。
以下 import 语句导入datetime
类。
from datetime import datetime # 👇️ <class 'datetime.datetime'> print(datetime)
以下 import 语句导入整个datetime
模块。
import datetime # 👇️ <module 'datetime' from '/home/borislav/anaconda3/lib/python3.9/datetime.py'> print(datetime) # 👇️ <class 'datetime.datetime'> print(datetime.datetime)
使用别名让你的代码更具可读性
通过在 import 语句中使用别名,可以使代码更易于阅读。
# 👇️ alias datetime class to dt from datetime import datetime as dt result = dt.strptime("21/11/22 09:30", "%d/%m/%y %H:%M") print(result) # 👉️ 2022-11-21 09:30:00
我们将该datetime
类别名为dt
,因此您可以调用该strptime
方法而dt.strptime()
不是datetime.strptime()
。
检查对象有哪些属性
开始调试的最佳方法是调用dir()
传递给导入模块的函数。
import datetime """ [ 'MAXYEAR', 'MINYEAR', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo' ] """ print(dir(datetime))
如果将模块对象传递给
dir()函数,它会返回模块属性名称的列表。
我们可以看到该datetime
模块没有名为 的属性strptime
,因此它一定是该模块的某个类中的属性。
我们还可以看到datetime
模块有一个属性datetime
,就是我们用来成功调用strptime()
方法的。
datetime
如果从模块导入类datetime
并将其传递给
dir()
函数,您将strptime
在属性列表中看到该方法。
from datetime import datetime # 👇️ [... 'strptime', ...] print(dir(datetime))
如果您收到错误“AttributeError:部分初始化的模块‘datetime’没有属性‘strptime’(很可能是由于循环导入)”,则在您的本地代码库中调用了一个文件datetime.py
。
要解决该错误,请确保不要将内置或远程模块的名称用于datetime.py
您的本地文件,例如 。
目录
AttributeError 模块 ‘datetime’ 没有属性 ‘strftime’
strftime
当我们尝试直接在模块上调用方法时,出现错误“AttributeError module ‘datetime’ has no attribute ‘strftime’” datetime
。
要解决该错误,请创建一个datetime
对象并strftime
改为调用对象上的方法。
下面是错误如何发生的示例。
import datetime # ⛔️ AttributeError: module 'datetime' has no attribute 'strftime' print(datetime.strftime("%d/%m/%y"))
代码示例中的问题是我们试图strftime
直接在datetime
模块上调用该方法。
要解决错误,我们必须datetime
先创建一个对象并调用
strftime
该对象的方法。
import datetime d = datetime.datetime(2022, 11, 24, 9, 30, 0) # 👇️ 24/11/22 print(d.strftime("%d/%m/%y")) # 👇️ ️Thursday, 24. November 2022 09:30AM print(d.strftime("%A, %d. %B %Y %I:%M%p")) # 👇️ Saturday, 14. May 2022 11:40AM d2 = datetime.datetime.now() # 👉️ current date print(d2.strftime("%A, %d. %B %Y %I:%M%p"))
datetime.py
因为这会影响官方datetime
模块。我们导入了datetime
模块并实例化了
datetime
类。
该类datetime
有一个
strftime
方法,我们可以使用它来获取日期和时间的字符串表示形式,由显式格式字符串控制。
该datetime
模块有一个datetime
类,这很令人困惑。
链接的替代方法datetime.datetime
是从模块导入类。
from datetime import datetime d = datetime(2022, 11, 24, 9, 30, 0) # 👇️ 24/11/22 print(d.strftime("%d/%m/%y")) # 👇️ ️Thursday, 24. November 2022 09:30AM print(d.strftime("%A, %d. %B %Y %I:%M%p")) # 👇️ Saturday, 14. May 2022 11:40AM d2 = datetime.now() print(d2.strftime("%A, %d. %B %Y %I:%M%p"))
我们datetime
从模块中导入类,所以我们在实例化类时datetime
不必使用。datetime.datetime
您还可以在导入语句中使用别名。
from datetime import datetime as dt d = dt(2022, 11, 24, 9, 30, 0) # 👇️ 24/11/22 print(d.strftime("%d/%m/%y")) # 👇️ ️Thursday, 24. November 2022 09:30AM print(d.strftime("%A, %d. %B %Y %I:%M%p")) # 👇️ Saturday, 14. May 2022 11:40AM d2 = dt.now() print(d2.strftime("%A, %d. %B %Y %I:%M%p"))
我们将类别名为datetime
,dt
因此我们可以访问类上的方法而dt.now()
不是datetime.now()
。
开始调试的最佳方法是调用dir()
传递给导入模块的函数。
import datetime """ [ 'MAXYEAR', 'MINYEAR', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo' ] """ print(dir(datetime))
如果将模块对象传递给
dir()函数,它会返回模块属性名称的列表。
我们可以看到该datetime
模块没有名为 的属性strftime
,因此它一定是该模块的某个类中的属性。
但是,如果我们将datetime
对象传递给dir()
函数,我们可以看到它有一个属性strftime
。
import datetime d = datetime.datetime(2022, 11, 24, 9, 30, 0) # [... 'strftime' ...] print(dir(d))
dir()
当您需要查看您正在导入的内容以及导入模块上的哪些属性可用时,该函数非常有用。
目录
AttributeError 模块 ‘datetime’ 没有属性 ‘today’
today
当我们尝试直接在模块上调用该方法时,出现错误“AttributeError module ‘datetime’ has no attribute ‘today’” datetime
。
要解决该错误,请使用以下导入import datetime
并将该
today
方法调用为datetime.date.today()
.
下面是错误如何发生的示例。
import datetime # ⛔️ AttributeError: module 'datetime' has no attribute 'today' print(datetime.today())
代码示例中的问题是我们试图today
直接在datetime
模块上调用该方法。
要解决该错误,请改为调用类today
上的方法date
。
# 👇️ 2022-05-14 print(datetime.date.today()) # 👇️ 2022-05-14 13:45:57.409176 print(datetime.datetime.today())
在日期时间对象上调用时
,
today
方法返回本地日期时间。
datetime.py
因为这会影响官方datetime
模块。datetime
或者,您可以更改 import 语句以从模块中导入类,datetime
而不必输入看起来datetime.datetime
很混乱的内容。
from datetime import datetime, date # 👇️ 2022-05-14 print(date.today()) # 👇️ 2022-05-14 13:45:57.409176 print(datetime.today())
我们
从datetime模块导入了datetime
和date类
,并调用了这些类的方法。today()
datetime
模块中有一个名为的类,这很令人困惑datetime
。
通过在 import 语句中使用别名,可以使代码更易于阅读。
from datetime import datetime as dt, date # 👇️ 2022-05-14 print(date.today()) # 👇️ 2022-05-14 13:45:57.409176 print(dt.today())
我们将该datetime
类别名为dt
,因此您可以调用该today
方法而
dt.today()
不是datetime.today()
。
开始调试的最佳方法是调用dir()
传递给导入模块的函数。
import datetime """ [ 'MAXYEAR', 'MINYEAR', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo' ] """ print(dir(datetime))
如果将模块对象传递给
dir()函数,它会返回模块属性名称的列表。
我们可以看到该datetime
模块没有名为 的属性today
,因此它一定是该模块的某个类中的属性。
我们还可以看到datetime
模块有一个属性datetime
,就是我们用来成功调用today()
方法的。
datetime
如果从模块导入类datetime
并将其传递给
dir()
函数,您将today
在属性列表中看到该方法。
from datetime import datetime, date # 👇️ [... 'today' ...] print(dir(datetime)) # 👇️ [... 'today' ...] print(dir(date))
如果您收到错误“AttributeError:部分初始化的模块‘datetime’没有属性‘today’(很可能是由于循环导入)”,则在datetime.py
您的本地代码库中调用了一个文件。
要解决该错误,请确保不要将内置或远程模块的名称用于datetime.py
您的本地文件,例如 。
目录
AttributeError 模块 ‘datetime’ 没有属性 ‘fromtimestamp’
fromtimestamp
当我们调用模块上的方法时,出现错误“AttributeError module ‘datetime’ has no attribute ‘fromtimestamp’” datetime
。
要解决该错误,请使用以下导入import datetime
并将该方法调用为datetime.datetime.fromtimestamp(...)
.
下面是错误如何发生的示例。
import time import datetime # ⛔️ AttributeError: module 'datetime' has no attribute 'fromtimestamp' today = datetime.fromtimestamp(time.time()) print(today)
代码示例中的问题是我们试图直接在模块上调用
fromtimestampdatetime
方法。
要解决该错误,请改为调用类fromtimestamp
上的方法datetime
。
import time import datetime today = datetime.datetime.fromtimestamp(time.time()) # 👇️ 2022-05-14 13:16:59.426594 print(today)
datetime.py
因为这会影响官方datetime
模块。datetime
或者,您可以更改 import 语句以从模块中导入类,datetime
而不必输入看起来datetime.datetime
很混乱的内容。
import time from datetime import datetime today = datetime.fromtimestamp(time.time()) # 👇️ 2022-05-14 13:16:59.426594 print(today)
我们
从datetime模块导入了datetime类
,并调用了
该类的fromtimestamp方法。
datetime
模块中有一个名为的类,这很令人困惑datetime
。
通过在 import 语句中使用别名,可以使代码更易于阅读。
import time from datetime import datetime as dt today = dt.fromtimestamp(time.time()) # 👇️ 2022-05-14 13:16:59.426594 print(today)
我们将该datetime
类别名为dt
,因此您可以调用该fromtimestamp
方法而dt.fromtimestamp()
不是datetime.fromtimestamp()
。
您还可以将tz
关键字参数传递给该方法,以将时间戳转换为特定时区。
import time from datetime import datetime as dt, timezone today = dt.fromtimestamp(time.time(), tz=timezone.utc) # 👇️ 2022-05-14 10:21:52.540533+00:00 print(today)
开始调试的最佳方法是调用dir()
传递给导入模块的函数。
import datetime """ [ 'MAXYEAR', 'MINYEAR', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo' ] """ print(dir(datetime))
如果将模块对象传递给
dir()函数,它会返回模块属性名称的列表。
我们可以看到该datetime
模块没有名为 的属性fromtimestamp
,因此它一定是该模块的某个类中的属性。
我们还可以看到datetime
模块有一个属性datetime
,就是我们用来成功调用fromtimestamp()
方法的。
datetime
如果从模块导入类datetime
并将其传递给
dir()
函数,您将fromtimestamp
在属性列表中看到该方法。
from datetime import datetime # 👇️ [... 'fromtimestamp', ...] print(dir(datetime))
datetime.py
如果您收到错误“AttributeError:部分初始化的模块‘datetime’没有属性‘fromtimestamp’(很可能是由于循环导入)”,则在您的本地代码库中调用了一个文件。
要解决该错误,请确保不要将内置或远程模块的名称用于datetime.py
您的本地文件,例如 。
AttributeError 模块 ‘datetime’ 没有属性 ‘now’
now
当我们尝试直接在模块上调用方法时,出现错误“AttributeError module ‘datetime’ has no attribute ‘now’” datetime
。
要解决该错误,请使用以下导入import datetime
并将该
now
方法调用为datetime.datetime.now()
.
下面是错误如何发生的示例。
import datetime # ⛔️ AttributeError: module 'datetime' has no attribute 'now' print(datetime.now())
代码示例中的问题是我们试图now
直接在datetime
模块上调用该方法。
要解决该错误,请改为调用类now
上的方法datetime
。
import datetime # 👇️ 2022-05-14 12:48:41.270852 print(datetime.datetime.now())
datetime.py
因为这会影响官方datetime
模块。datetime
或者,您可以更改 import 语句以从模块中导入类,datetime
而不必输入看起来datetime.datetime
很混乱的内容。
from datetime import datetime # 👇️ 2022-05-14 12:48:41.270852 print(datetime.now())
我们
从datetime模块导入了datetime类
,并调用了
该类的now方法。
datetime
模块中有一个名为的类,这很令人困惑datetime
。
您可以通过在导入语句中使用别名来解决这个问题。
# 👇️ alias datetime class to dt from datetime import datetime as dt # 👇️ 2022-05-14 12:48:41.270852 print(dt.now())
我们将该datetime
类别名为dt
,因此您可以调用该now
方法而
dt.now()
不是datetime.now()
。
开始调试的最佳方法是调用dir()
传递给导入模块的函数。
import datetime """ [ 'MAXYEAR', 'MINYEAR', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'date', 'datetime', 'datetime_CAPI', 'sys', 'time', 'timedelta', 'timezone', 'tzinfo' ] """ print(dir(datetime))
如果将模块对象传递给
dir()函数,它会返回模块属性名称的列表。
我们可以看到该datetime
模块没有名为 的属性now
,因此它一定是该模块的某个类中的属性。
我们还可以看到datetime
模块有一个属性datetime
,就是我们用来成功调用now()
方法的。
datetime
如果从模块导入类datetime
并将其传递给
dir()
函数,您将now
在属性列表中看到该方法。
from datetime import datetime # 👇️ [... 'now', ...] print(dir(datetime))
如果您收到错误“AttributeError:部分初始化的模块‘datetime’没有属性‘now’(很可能是由于循环导入)”,则在datetime.py
您的本地代码库中调用了一个文件。
要解决该错误,请确保不要将内置或远程模块的名称用于datetime.py
您的本地文件,例如 。