Datetime Python TimeDelta向提供的参数添加日期

Datetime Python TimeDelta向提供的参数添加日期,datetime,python-2.7,Datetime,Python 2.7,我不知道怎么接近这个 用户提供一个参数,即program.exe“2001-08-12” 我需要在该参数中添加一天-这将表示程序另一部分的日期范围。我知道您可以从当前日期进行加减,但是如何从用户提供的日期进行加减呢?好的,下面是我得到的: import datetime ... date=time.strptime(argv[1], "%y-%m-%d"); newdate=date + datetime.timedelta(days=1) import sys from datetime i

我不知道怎么接近这个

用户提供一个参数,即program.exe“2001-08-12”


我需要在该参数中添加一天-这将表示程序另一部分的日期范围。我知道您可以从当前日期进行加减,但是如何从用户提供的日期进行加减呢?

好的,下面是我得到的:

import datetime
...
date=time.strptime(argv[1], "%y-%m-%d");
newdate=date + datetime.timedelta(days=1)
import sys
from datetime import datetime
user_input = sys.argv[1]                # Get their date string

year_month_day = user_input.split('-')  # Split it into [year, month, day]

year = int(year_month_day[0])
month = int(year_month_day[1])
day = int(year_month_day[2])

date_plus_a_day = datetime(year, month, day+1)

我知道这有点长,但我想确保每一步都是清晰的。如果你想把它缩短,我会让你自己决定。阿诺的代码是有效的,看看如何使用它:):-


谢谢你的回复!我获得了ValueError:时间数据'2001-08-12'与格式'%y-%m-%d'不匹配,将%y大写解决了该错误,但是,我现在收到以下消息:AttributeError:type对象'datetime.datetime'没有属性'timedelta',谢谢您的回复!不幸的是,如果用户输入是2001-07-31,这将使一个月内的日期超出范围?>如果我没弄错的话,日期加上一天应该是2001-07-32,是吗?评论不错。是的,你是对的。要使此代码完全工作,您需要进行一系列检查,以验证是否没有重叠,如果重叠发生,处理它。我收到AttributeError:type对象“datetime.datetime”与您的没有属性“timedelta:”)我确信只是我遗漏了一些东西…如果您执行了导入datetime如果不尝试从datetime导入timedelta我相信导入的方式不正确。在应用程序之外测试它是可行的-它可能被使用datetime.now()的代码的另一部分破坏了-如我所想,过一会儿就回来!好的,是的,代码工作得很好,但是我不得不用timestamp=datetime.datetime.utcnow()替换timestamp=datetime.now()的两个实例->我猜它需要的导入(或从导入)需求与上面脚本想要的导入需求冲突?不管怎样,它是有效的!感谢您的帮助(批改答案)
>>> import datetime
>>> x=datetime.datetime.strptime('2001-08-12','%Y-%m-%d')
>>> newdate=x + datetime.timedelta(days=1)
>>> newdate
datetime.datetime(2001, 8, 13, 0, 0)
>>>