Python &引用;模块';巴别塔&x27;没有属性';日期'&引用;尝试格式化时间和日期时

Python &引用;模块';巴别塔&x27;没有属性';日期'&引用;尝试格式化时间和日期时,python,python-3.x,python-babel,Python,Python 3.x,Python Babel,我编写此函数是为了在我的Flask应用程序中设置时间和日期的格式: 但当我运行此命令时,会引发以下异常: 回溯(最近一次呼叫最后一次): 文件“C:\Users\user\Desktop\timedateTest\timepy.py”,第26行,在 打印(格式\日期时间(strTime)) 文件“C:\Users\user\Desktop\timedateTest\timepy.py”,第18行,格式为\u datetime 返回babel.dates.format\u datetime(日期,

我编写此函数是为了在我的Flask应用程序中设置时间和日期的格式:

但当我运行此命令时,会引发以下异常:

回溯(最近一次呼叫最后一次):
文件“C:\Users\user\Desktop\timedateTest\timepy.py”,第26行,在
打印(格式\日期时间(strTime))
文件“C:\Users\user\Desktop\timedateTest\timepy.py”,第18行,格式为\u datetime
返回babel.dates.format\u datetime(日期,格式)属性错误:模块“babel”没有属性“dates”
我做错了什么?

尝试更改:

import babel
致:

尝试更改:

import babel
致:

您可以使用python中的
datetime
模块。 返回的格式

# output for format full
'07-January-2021, 12:13:07'

# output for format medium
'07-Jan-2021, 12:13:07'
您可以使用字符串作为
date\u obj.strftime()
方法的参数来插入任何类型的格式

可以找到日期格式以供参考。

您可以使用python中的
datetime
模块。 返回的格式

# output for format full
'07-January-2021, 12:13:07'

# output for format medium
'07-Jan-2021, 12:13:07'
您可以使用字符串作为
date\u obj.strftime()
方法的参数来插入任何类型的格式


可以找到日期格式以供参考。

在阅读了位于的文档后,我怀疑不允许将字符串传递到babel.dates.format\u datetime,因为此函数需要datetime:

babel.dates.format_datetime(datetime=None, format='medium', tzinfo=None, locale=default_locale('LC_TIME'))
  • datetime–datetime对象;如果没有,则使用当前日期和时间
  • 格式–可以是“完整”、“长”、“中”或“短”格式之一,也可以是自定义日期/时间模式
  • tzinfo–应用于显示时间的时区
  • 区域设置–区域设置对象或区域设置标识符
正如John Gardounis提到的,使用直接引用可能会有所帮助。 当您为自己定义自己的format_datetime函数时,我的建议是:

from babel.dates import format_datetime as babel_format_datetime
然后在函数中替换此行:

return babel.dates.format_datetime(date, format)
与:


在阅读了上的文档后,我怀疑不允许将字符串传递到babel.dates.format_datetime,因为此函数需要datetime:

babel.dates.format_datetime(datetime=None, format='medium', tzinfo=None, locale=default_locale('LC_TIME'))
  • datetime–datetime对象;如果没有,则使用当前日期和时间
  • 格式–可以是“完整”、“长”、“中”或“短”格式之一,也可以是自定义日期/时间模式
  • tzinfo–应用于显示时间的时区
  • 区域设置–区域设置对象或区域设置标识符
正如John Gardounis提到的,使用直接引用可能会有所帮助。 当您为自己定义自己的format_datetime函数时,我的建议是:

from babel.dates import format_datetime as babel_format_datetime
然后在函数中替换此行:

return babel.dates.format_datetime(date, format)
与:


请参阅在空的neew文件中运行代码显示错误
AttributeError:type object'datetime.datetime'没有属性'datetime'
在空的neew文件中运行代码显示错误
AttributeError:type object'datetime.datetime'没有属性'datetime'
问题不在于
格式的设置方式已使用,这是如何导入的问题。问题不是如何使用
格式\u datetime
,而是如何导入。收到此异常AttributeError:“NoneType”对象没有属性“days”,或者只是来自babel的
。dates导入格式\u datetime
,由于没有使用其他两个函数。@如果与导入函数相关的问题已经解决,而现在又出现了另一个问题,请提出一个新问题(在您自己首先研究了新问题之后)。@TheTruth我认为这是一个与您设置的默认区域设置相关的问题。检查这个问题,它类似于yours@mkrieger1已解决,谢谢您收到此异常属性错误:“NoneType”对象没有属性“days”,或者只是来自babel.dates导入格式\u datetime
,因为没有使用其他两个函数。@如果与导入函数相关的问题得到解决,现在还有另一个问题,请问一个新问题(先自己研究新问题之后)。@事实上,我认为这是一个与您设置的默认区域设置相关的问题。检查这个问题,它类似于yours@mkrieger1已经解决了谢谢