# Scientific Computing with Python Projects - Time Calculator

Tell us what’s happening:

I have issues with evaluating the correct number of days that have passed. When the number of days passed become large, it seems to be one day behind what the actual value is for some reason (e.g. it says 19 days later instead of 20). The code works fine if its only 2 days later for example.

``````def get_days_later(days):
if days > 1:
return f" ({days} days later)"
elif days == 1:
return " (next day)"
else:
return ""

#Getting time data

time, period = time.split()
period = period.strip().upper()
hour, min = time.split(":")

# Variables

week = [
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday",
"sunday"
]

hour, min = int(hour), int(min)

if end_min >= 60:
min = end_min % 60
hour += 1
else:

cycles = end_hour // 12
days_passed = end_hour // 24
hour = end_hour % 12

# Calculating new time

if hour == 0:
hour = 12

if cycles % 2 != 0:
if period == "AM":
period = "PM"
elif period == "PM":
period = "AM"

# Formatting for printing

if min < 10:
min = f"0{min}"

if day:
days_index = week.index(day.lower())
final_day = week[(days_index + days_passed) % 7].title()

return f"{hour}:{min} {period}, {final_day}{get_days_later(days_passed)}"
else:
return f"{hour}:{min} {period}{get_days_later(days_passed)}"
``````

Challenge: Scientific Computing with Python Projects - Time Calculator