在Python3.4中将字符串日期转换为时间戳

2022-03-31 00:00:00 python python-datetime python-import

问题描述

我正在尝试将字符串日期转换为Python中的时间戳,如文章here所述。当我运行POST中的代码示例时,我遇到一个错误。例如:

>>> 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:Python34lib\_strptime.py", line 15, in <module>
    import calendar
  File "C:Python34calendar.py", line 9, in <module>
    calendar = wckCalendar.Calendar(root, command=echo)
NameError: name 'wckCalendar' is not defined
>>> 

看起来像是在运行时,代码隐式尝试import calendar并在流程中抛出错误。当我直接导入日历时,我收到相同的错误:

>>> import calendar
Traceback (most recent call last):
  File "<pyshell#36>", line 1, in <module>
    import calendar
  File "C:Python34calendar.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*


解决方案

感谢@J.F.塞巴斯蒂安。我被name shadowing trap困住了。我犯了一个愚蠢的错误,将我的一个模块命名为calendar.py。一旦我删除了这个文件,一切都运行得很好。我希望这篇文章不是浪费,希望有一天有人会发现它很有用。

相关文章