[英]Python - Putting in user input of days and then displaying equivalent years, months and days
[英]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.