【问题标题】:Datetime 'has no attribute now'Datetime '现在没有属性'
【发布时间】:2025-12-28 01:20:22
【问题描述】:

我正在尝试编写一个简单的程序来使用 Python 3.4 打印当前日期。在 shell 中,我可以导入日期时间,并使用now(),但是当我编写一个带有类的脚本时,它会失败并给出以下错误:

"AttributeError: module object has no attribute now". 

谁能帮忙解释一下这个问题?这是我的代码:

import datetime

class Date:
    def __init__(self, filename):
        self.writeToFile(filename)

    def date(self):
        now = datetime.datetime.now()
        return now

    def writeToFile(self, filename):
        date = self.date()

        file = open(filename, 'w')
        file.write(date)
        for i in range(20):             # simply test for writting in file
            file.write(str(i)+'\t')
        file.close()
        return file

d = Date('datetime.txt') 

【问题讨论】:

  • 你的文件不是叫datetime.py,是吗?
  • 多么愚蠢的错误:(我真的很抱歉浪费了您的时间,大家的时间都没有意识到,这可能是个问题..再次感谢 :)
  • 别担心,我们之前都陷入过这个陷阱 :) 请记住,您还应该注意不要使用像 list 这样的变量名来掩盖内置名称。这些错误会导致非常令人费解的错误......
  • 我想每个人都会被这件事抓住一次,然后再传授知识。
  • @MartinT_25: you are not alone

标签: python datetime


【解决方案1】:
import datetime
datetime.datetime.now()

【讨论】:

    【解决方案2】:

    确保您正在导入预期的日期时间模块,并且它没有被同名的本地文件覆盖。您可以通过以下方式进行检查:

    import datetime
    print(datetime.__file__)
    

    并检查输出是否指向您想要的正确目录。

    【讨论】:

      【解决方案3】:

      我也有这个错误,我所做的只是

      Import datetime
      from datetime import datetime
      
      # then u can declare ur variable let's say something like
      today = datetime.datetime.now()
      #u can add what ever u want 
      #the point is make sure u do the datetime.datetime.now()
      print(today)
      

      【讨论】:

        最近更新 更多