如何根据用户输入的日期获取第二天的日期?

时间:2019-08-30 09:42:31

标签: python python-3.x date

我有以下代码:

def dates_sec():
    START_DATE = str(input('Enter start date in %Y-%m-%d %H:%M:%S format: '))
    END_DATE = str(input('Enter end date in %Y-%m-%d %H:%M:%S format: '))

    try:
        START_DATE = datetime.datetime.strptime(START_DATE, '%Y-%m-%d %H:%M:%S')
        END_DATE = datetime.datetime.strptime(END_DATE, '%Y-%m-%d %H:%M:%S')
        start_date = START_DATE.strftime('%Y%m%d')
        end_date = END_DATE.strftime('%Y%m%d')
        print('Dates accepted!')
        return start_date, end_date
    except ValueError:
        raise ValueError("Incorrect date format, should be YYYY-MM-DD HH:MM:SS")

SD, ED = dates_sec()

在这里,我从用户那里输入2个日期作为输入。现在,根据用户输入的END_DATE,我想生成一个名为NEXT_DATE的新变量,它包含%Y%m%d格式的第二天的日期。

示例:

如果我将START_DATE输入为2018-07-01 00:00:00

END_DATE2018-07-01 00:00:00

则变量SDED分别为2018070120180731

现在,基于END_DATENEXT_DATE必须为2018-08-01 00:00:00,并且必须以20180801的形式返回。

我想知道我该怎么做。

1 个答案:

答案 0 :(得分:1)

您正在寻找:

NEXT_DATE = END_DATE + datetime.timedelta(days=1)
next_date = NEXT_DATE.strftime('%Y%m%d')