【问题标题】:Getting input date from the user in python using datetime.datetime使用 datetime.datetime 从 python 中的用户获取输入日期
【发布时间】:2013-03-12 23:25:16
【问题描述】:

我正在尝试从用户那里获取输入日期并将其存储为

dt_start = dt.datetime(2006, 1, 1)

我目前正在这样做:

i = str(raw_input('date'))
dt_start = dt.datetime(i)

但它会抛出一个错误:

Traceback (most recent call last):
File "C:/.../sim.py", line 18, in <module>
    dt_start = dt.datetime(i)
TypeError: an integer is required

感谢大家的帮助!

【问题讨论】:

  • 您是否希望用户输入“2006, 1, 1”作为字符串?
  • 使用@A.Rodas的解决方案后,我得到这个错误:
  • in dt_start = dt.strptime(i, '%Y, %m, %d') AttributeError: 'module' object has no attribute 'strptime'
  • 根据您的示例,您需要使用 dt.datetime.strptime。

标签: python date datetime python-2.7


【解决方案1】:

如果你使用%Y, %m, %d格式,你可以试试datetime.strptime

from datetime import datetime

i = str(raw_input('date'))
try:
    dt_start = datetime.strptime(i, '%Y, %m, %d')
except ValueError:
    print "Incorrect format"

【讨论】:

    【解决方案2】:

    datetime() 只接受 int 作为参数。

    试试这个:

    from datetime import datetime
    
    date_entry = input('Enter a date (i.e. 2017,7,1)')
    year, month, day = map(int, date_entry.split(','))
    date = datetime(year, month, day)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多