Mat.S
Mat.S

Reputation: 1854

Convert datetime to time in python

I have:

test_date = "2017-07-20-10-30"

and then use:

day = datetime.strptime(test_date[11:], "%H-%M")

which gives me

1900-01-01 10:30:00

How do I just get: 10:30:00 as type datetime.time?

Upvotes: 13

Views: 61091

Answers (2)

hiro protagonist
hiro protagonist

Reputation: 46839

you can parse your string using datetime.strptime to a datetime object and then call .time() on that to get the time:

from datetime import datetime

strg = "2017-07-20-10-30"

dt = datetime.strptime(strg, '%Y-%m-%d-%H-%M')
tme = dt.time()
print(tme)  # 10:30:00

the strftime() and strptime() Behavior is well documented.

of course you can also chain these calls:

tme = datetime.strptime(strg, '%Y-%m-%d-%H-%M').time()

Upvotes: 4

Cory Madden
Cory Madden

Reputation: 5193

You can use the strftime method of the datetime object like this:

day.strftime('%H:%M')

More information here: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

Ok, I misunderstood. Use day.time() to get a time object.

Upvotes: 17

Related Questions