pythontimedatetime-conversion

How to convert AM/PM timestmap into 24hs format in Python?


I'm trying to convert times from 12 hour times into 24 hour times...

Automatic Example times:

06:35  ## Morning
11:35  ## Morning (If m2 is anywhere between 10:00 and 12:00 (morning to mid-day) during the times of 10:00 and 13:00 (1pm) then the m2 time is a morning time)
1:35  ## Afternoon
11:35  ## Afternoon

Example code:

m2 = "1:35" ## This is in the afternoon.
m2 = datetime.strptime(m2, "%H:%M")
print m2

Expected Output:

13:35

Actual Output:

1900-01-01 01:35:00

I tried a second variation but again didn't help :/

m2 = "1:35" ## This is in the afternoon.
m2split = m2.split(":")
if len(m2split[0]) == 1:
    m2 = ("""%s%s%s%s""" % ("0", m2split[0], ":", m2split[1]))
    print m2
m2temp = datetime.strptime(m2, "%I:%M")
m2 = m2temp.strftime("%H:%M")

What am I doing wrong and how can I fix this?


Solution

  • Try this :)

    Code:

    currenttime = datetime.datetime.now().time().strftime("%H:%M")
    if currenttime >= "10:00" and currenttime <= "13:00":
        if m2 >= "10:00" and m2 >= "12:00":
            m2 = ("""%s%s""" % (m2, " AM"))
        else:
            m2 = ("""%s%s""" % (m2, " PM"))
    else:
        m2 = ("""%s%s""" % (m2, " PM"))
    m2 = datetime.datetime.strptime(m2, '%I:%M %p')
    m2 = m2.strftime("%H:%M %p")
    m2 = m2[:-3]
    print m2
    

    Output:

    13:35