我编写此函数是为了在我的Flask应用程序中使用Babel格式化时间和日期:
import babel
from flask import Flask
app = Flask(__name__)
def format_datetime(value, format='medium'):
if format == 'full':
format = "EEEE MMMM, d, y 'at' h:mma"
elif format == 'medium':
format = "EE MM, dd, y h:mma"
print(format)
return babel.dates.format_datetime(date, format)
app.jinja_env.filters['datetime'] = format_datetime
strTime = '2021-01-07 12:13:07'
print(format_datetime(strTime))
但当我运行此命令时,会引发以下异常:
Traceback (most recent call last):
File "C:\Users\user\Desktop\timedateTest\timepy.py", line 26, in <module>
print(format_datetime(strTime))
File "C:\Users\user\Desktop\timedateTest\timepy.py", line 18, in format_datetime
return babel.dates.format_datetime(date, format) AttributeError: module 'babel' has no attribute 'dates'
我做错了什么
您可以使用python中的
datetime
模块。返回的格式
您可以使用字符串作为
date_obj.strftime()
方法的参数来插入任何类型的格式日期格式可在here中找到以供参考
尝试更改:
致:
在http://babel.pocoo.org/en/latest/api/dates.html阅读文档后,我怀疑不允许将字符串传递到babel.dates.format_datetime,因为此函数需要datetime:
正如John Gardounis提到的,使用直接引用可能会有所帮助。 当您为自己定义自己的format_datetime函数时,我的建议是:
然后在函数中替换此行:
与:
相关问题 更多 >
编程相关推荐