Skip to content

Commit e2b2771

Browse files
authored
Create time-calculator.py
1 parent f1d7ada commit e2b2771

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

time-calculator.py

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
def add_time(start, duration, day=None):
2+
pmOrAm = start[len(start)-2:len(start)]
3+
start = start[0: len(start)-3]
4+
start_hrs, start_mins = start.split(":")
5+
duration_hrs, duration_mins = duration.split(":")
6+
if day != None:
7+
day = day.lower()
8+
# print(day)
9+
# print(pmOrAm)
10+
# print(start_hrs, " ", start_mins)
11+
# print(duration_hrs, " ", duration_mins)
12+
13+
################
14+
to_add_to_hrs = int((int(start_mins) + int(duration_mins)) / 60)
15+
16+
new_time_hrs = (int(start_hrs) + int(duration_hrs) + int(to_add_to_hrs)) % 12
17+
if new_time_hrs == 0:
18+
new_time_hrs=12
19+
new_time_mins = (int(start_mins) + int(duration_mins))%60
20+
# if new_time_hrs <=11 and pmOrAm =="AM":
21+
# new_time_am_or_pm = "AM"
22+
# else:
23+
# new_time_am_or_pm = "PM"
24+
#military hrs
25+
# print()
26+
new_time_am_or_pm = "AM"
27+
if pmOrAm == "PM":
28+
start_hrs = str(int(start_hrs) + 12)
29+
# print(start_hrs)
30+
total_mins = (int(duration_hrs) + int(start_hrs)) * 60
31+
total_mins = total_mins + int(duration_mins) + int(start_mins)
32+
total_days = int(total_mins / 60 / 24)
33+
# print(start_hrs + " " + duration_hrs)
34+
if((total_mins/60)%24 <= 11):
35+
new_time_am_or_pm = "AM"
36+
else:
37+
new_time_am_or_pm = "PM"
38+
# print(total_days)
39+
new_day = None
40+
if day !=None:
41+
mydays = {"sunday": 0, "monday":1, "tuesday":2, "wednesday":3, "thursday":4, "friday":5, "saturday":6}
42+
mydays_rev = {0: "Sunday",1: "Monday",2: "Tuesday",3: "Wednesday",4: "Thursday",5: "Friday",6: "Saturday"}
43+
day_number = mydays[day]
44+
# print(day_number)
45+
new_day_number = (day_number + total_days)%7
46+
new_day = mydays_rev[new_day_number]
47+
fn_time = str(new_time_hrs) + ":" + str(new_time_mins).rjust(2, "0")
48+
fn_time = fn_time + " " + new_time_am_or_pm
49+
if(new_day!=None):
50+
fn_time = fn_time + ", " + new_day
51+
# print(total_days)
52+
if (total_days != 0):
53+
if total_days == 1:
54+
fn_time = fn_time + " " + "(next day)"
55+
else:
56+
fn_time = fn_time + " "+ "(" + str(total_days) +" days later)"
57+
return (fn_time)

0 commit comments

Comments
 (0)