在Python 3.4中将字符串日期转换为时间戳

1 投票
1 回答
1027 浏览
提问于 2025-04-18 17:14

我正在尝试把字符串格式的日期转换成时间戳,具体方法可以参考这个帖子 这里。但是当我运行帖子里的代码示例时,遇到了一个错误。例如:

>>> import time
>>> import datetime
>>> s = "01/12/2011"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
Traceback (most recent call last):
  File "<pyshell#31>", line 1, in <module>
    time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())
  File "C:\Python34\lib\_strptime.py", line 15, in <module>
    import calendar
  File "C:\Python34\calendar.py", line 9, in <module>
    calendar = wckCalendar.Calendar(root, command=echo)
NameError: name 'wckCalendar' is not defined
>>> 

看起来在运行时,代码隐式地尝试去 import calendar,然后在这个过程中抛出了错误。当我直接导入calendar时,也得到了同样的错误:

>>> import calendar
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    import calendar
  File "C:\Python34\calendar.py", line 9, in <module>
    calendar = wckCalendar.Calendar(root, command=echo)
NameError: name 'wckCalendar' is not defined
>>> 

我只是想做到以下几点:

>>> import time
>>> import datetime
>>> s = "01/12/2011"
>>> time.mktime(datetime.datetime.strptime(s, "%d/%m/%Y").timetuple())

有没有什么想法?

我在Windows 7 32位上使用Python 3.4.1*

1 个回答

1

感谢@J.F. Sebastian。我之前遇到了一个叫做命名遮蔽的问题。我的一个模块命名为calendar.py,结果导致了一些麻烦。后来我把这个文件删掉后,所有东西都正常运行了。希望这篇帖子不是浪费,未来有人能觉得它有用。

撰写回答