Here's the code to convert 12 hour time format to 24 hour format. Everything works fine except the 12 hour time AM (1:00:00 to 11:59:59) is acting weird and only returning 0.
Code :
def timeConversion(s):
times = s.split(":")
hour = int(times[0])
minutes = times[1]
seconds = times[2][:-2]
timemod = times[-1][2:]
military_hour=0
if timemod=="AM" :
if hour == 12 :
miltary_hour = 0
else:
miltary_hour = hour
elif timemod == "PM" :
if hour == 12 :
military_hour = hour
else:
military_hour = hour + 12
if military_hour < 10 :
military_hour = "0" + str(military_hour)
else:
military_hour = str(military_hour)
return ":".join([military_hour,minutes,seconds])
## below 2 are incorrect
print(timeConversion("9:30:10AM"))
print(timeConversion("6:00:00AM"))
## these are correct
print(timeConversion("12:00:00AM"))
print(timeConversion("12:00:00PM"))
print(timeConversion("11:59:59PM"))
The solution is
00:30:10
00:00:00
00:00:00
12:00:00
23:59:59
Why the heck AM time before noon always returns 00 instead of actual hour ?