我正在尝试创建一个函数,我使用datetime模块中的各种函数,例如strftime,strptime和timedelta。
我觉得我已经尝试了所有的东西,但每当我被告知这个时候:
4 date = '2012.09.07'
5
----> 6 q = net(date)
7 print q
/Users/fb/Documents/Python_files/test_function.pyc in net(date)
1 def net(date):
----> 2 b = datetime.strptime(a, '%Y.%m.%d')
3 c = b.strftime('%d:%m:%y')
4 return c
NameError: global name 'datetime' is not defined
我读过其他人可能遇到和我一样的问题,即“它在python解释器中工作但在脚本中没有”。有人可以帮忙吗?
答案 0 :(得分:5)
您需要导入模块中的datetime
对象 :
from datetime import datetime
位于test_function.py
的顶部。
在您的翻译会话中,您可能已经导入了该对象。
您的整个模块将如下所示:
from datetime import datetime
def net(date):
b = datetime.strptime(date, '%Y.%m.%d')
c = b.strftime('%d:%m:%y')
return c
我将a
替换为date
,因为这是该函数的实际参数的名称。
请注意,datetime
模块包含datetime
类,这是此处导入的唯一内容。如果您还需要访问date
和timedelta
类,请明确导入(from datetime import datetime, date, timedelta
)或导入 模块,并将内容作为属性引用(import datetime
,然后datetime.datetime.strptime()
和datetime.date.today()
等。)