Python 我想找出两个日期之间的天数

Python 我想找出两个日期之间的天数,python,date,Python,Date,以下是一些原型代码,给定两个日期将打印它们之间的时间: from datetime import datetime date_format= "%m/%d/%y" now=datetime.now() print now d1=datetime.now() d2=datetime.strptime('07/21/14',date_format) delta= d2-d1 print delta 我想修改它,这样它会要求用户输入两个日期,而不是在源代码中硬编码日期 到目前为止,我写了: date

以下是一些原型代码,给定两个日期将打印它们之间的时间:

from datetime import datetime
date_format= "%m/%d/%y"
now=datetime.now()
print now
d1=datetime.now()
d2=datetime.strptime('07/21/14',date_format)
delta= d2-d1
print delta
我想修改它,这样它会要求用户输入两个日期,而不是在源代码中硬编码日期

到目前为止,我写了:

date1=raw_input("What is date 1 ?:")
print date1
date2=raw_input("What is date 2 ?:")
print date2
delta=date2-date1
print delta
但是在我输入日期后,我得到了错误:

Traceback (most recent call last):
  File "C:/Python27/datetimetest.py", line 17, in <module>
    delta=date2-date1
TypeError: unsupported operand type(s) for -: 'str' and 'str'
回溯(最近一次呼叫最后一次):
文件“C:/Python27/datetimetest.py”,第17行,在
delta=date2-date1
TypeError:-:“str”和“str”的操作数类型不受支持

您需要将从
原始输入()获取的字符串转换为日期对象。就像您在原始代码中所做的那样

from datetime import datetime

date_format= "%m/%d/%y"

date1 = raw_input("What is date 1: ")
date1 = datetime.strptime(date1, date_format)

date2 = raw_input("What is date 2: ")
date2 = datetime.strptime(date2, date_format)

print
print 'Date 1:', date1
print 'Date 2:', date2
print 'Delta: ', date2 - date1
如果我们运行这个:

What is date 1: 3/14/12
What is date 2: 3/16/12

Date 1: 2012-03-14 00:00:00
Date 2: 2012-03-16 00:00:00
Delta:  2 days, 0:00:00

您是否在询问如何从命令行读取两个日期?如果问题已解决,请接受给定的答案(如果是解决方案),或者自己添加答案并标记为已接受。或者写一篇评论来说明解决方案是什么。请不要编辑标题说已解决(我已撤消)。可能重复