Python - 定义全局名称datetime

时间:2013-09-26 16:19:46

标签: python datetime

我正在尝试创建一个函数,我使用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解释器中工作但在脚本中没有”。有人可以帮忙吗?

1 个答案:

答案 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 ,这是此处导入的唯一内容。如果您还需要访问datetimedelta类,请明确导入(from datetime import datetime, date, timedelta)或导入 模块,并将内容作为属性引用(import datetime,然后datetime.datetime.strptime()datetime.date.today()等。)