簡體   English   中英

Python 將用戶指定的天/月/年添加到今天

[英]Python add user specified days/months/years to today

我正在嘗試將 x 天數或月數或年數添加到今天的日期,其中 x 和頻率均由用戶提供。

我查看了dateutil.relativedelta ,但由於它不接受字符串作為參數,我可以嘗試myStr='months=+6'然后使用relativedelta(myStr)我不知道該怎么做。 任何提示將不勝感激。

謝謝。

您可以在這里使用relativedelta ,您只需要正確指定它。

確保將今天的日期也指定為datetime時間 object。

from datetime import datetime
from dateutil.relativedelta import relativedelta

def add_calander(dmy, date):
    if dmy == 'D':
        value = int(input('How many days would you like to add?'))

        date = date + relativedelta(days=value)
    if dmy == 'M':
        value = int(input('How many months would you like to add?'))

        date = date + relativedelta(months=value)
    if dmy == 'Y':
        value = int(input('How many years would you like to add?'))

        date = date + relativedelta(years=value)

    return date

today = datetime.now()
dmy = input('Do you want to add days (D), months (M) or years (Y) to todays date?')

print(add_calander(dmy, today))

這允許用戶指定日、月或年,並使用relativedelta返回基於calendar年的計算值。

結果:

Do you want to add days (D), months (M) or years (Y) to todays date?M
How many months would you like to add?5
2020-10-15 08:19:56.814910

Do you want to add days (D), months (M) or years (Y) to todays date?Y
How many years would you like to add?10
2030-05-15 08:20:03.624634

Do you want to add days (D), months (M) or years (Y) to todays date?D
How many days would you like to add?6
2020-05-21 08:20:24.311311

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM