Apr-17-2021, 02:11 AM
Maybe something like this? It assumes a month is exactly 30 days. Not correct, but pretty close....
sample = """0d 6d 7d 1w, 3d 7w, 5d 4m 5m """ period = { "d": 1, "w": 7, "m": 30, } for line in sample.splitlines(): total_time = 0 for time in line.split(", "): qty, unit = time[:-1], time[-1] qty = int(qty) total_time += qty * period[unit] months = total_time // 30 print(f"{line} => time in days: {total_time}, time in full months: {months}")
Output:0d => time in days: 0, time in full months: 0
6d => time in days: 6, time in full months: 0
7d => time in days: 7, time in full months: 0
1w, 3d => time in days: 10, time in full months: 0
7w, 5d => time in days: 54, time in full months: 1
4m => time in days: 120, time in full months: 4
5m => time in days: 150, time in full months: 5