Это лучшее, что я мог придумать:
import re
def dist2dates(date1,date2):
if re.match(r'^\d{2}\/\d{2}$', date1) and re.match(r'^\d{2}\/\d{2}$', date2):
diff1 = abs(((int(date2[0:2])-int(date1[0:2]))))
diff2 = abs((int(date2[3:])-int(date1[3:])))
result= ("%02d/%02d") %(diff1, diff2)
return result
else:
return "Incorrect format"
res2=dist2dates("11/16","11/29")
print(res2)
Вывод:
00/13
Он всегда возвращает абсолютное значение abs (), поэтому вы не получите отрицательные числа.Он также проверяет, правильно ли отформатирована строка даты с использованием RegEx.
=================== Перед редактированием =================
Попробуйте:
def dist2dates(date1,date2):
result= ("%02d/%02d") %(int(date2[0:2])-int(date1[0:2]) ,int(date2[3:])-int(date1[3:]))
return result
res2=dist2dates("10/16","11/29")
print(res2)
Вывод:
01/13
Входные данные для функции dist2dates должны быть строками, а не целыми числами.
Приведите строки в целые числа, чтобы вы могли вычесть числа.