我認爲你最大的問題是你如何檢索日期。 date()函數需要三個整數,例如日期(2017,10,10)
當您使用的輸入(),你得到一個字符串:
input() #returns a string
您還需要通過某種方式拆分輸入來解決這個:
例如
"2017-10-12".split("-") # returns ["2017","10","12"]
[int(i) for i in "2017-10-12".split("-")] # returns [2017,10,12]
這意味着,如果你這樣做,你會得到一個日期:
date(*[int(i) for i in input("When is your deadline?").split("-")])
但你真的想在這種情況下,什麼是使用strptime。
from datetime import datetime
datetime.strptime("20171012","%Y%m%d").date() # returns: datetime.date(2017, 10, 12)
例完整劇本的
from datetime import datetime
startdate_str = input("When do you intend to start? e.g.(2017-10-10)")
enddate_str = input("When is your deadline? e.g.(2017-10-11)")
startdate_dt = datetime.strptime(startdate_str,"%Y-%m-%d").date()
enddate_dt = datetime.strptime(enddate_str,"%Y-%m-%d").date()
numstudydays = enddate_dt - startdate_dt
print (numstudydays.days) # prints 1 for example inputs
推薦鏈接
的各種樣的:Strptime()定義它的外觀一個字符串轉換爲datetime格式化字符串的方法: https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
您目前有此代碼...和,什麼? – SiHa
https://stackoverflow.com/questions/8419564/difference-between-two-dates – Marco