xavendano
xavendano

Reputation: 133

How get just the "time" part from a datetime.strptime object python

I have data like this: "2016-10-17 09:34:02" with the format: "%Y-%m-%d %H:%M:%S" and I use: from datetime import datetime

My variable is like this:

date_object = datetime.strptime(datetemp, format)

So far, so good...

But I need get only the time part from this object (date_object) to make some comparisons...

When I do this:

print(date_object.time)

I get the following error:

built-in method time of datetime.datetime object at 0x00A94AE8

How can i get just the time part from the object date_object? This will allow me to make comparisons within hourly ranges.

Upvotes: 0

Views: 3309

Answers (3)

Vibhutha Kumarage
Vibhutha Kumarage

Reputation: 1399

>>> import datetime as dt 
>>> timenow = dt.datetime.now()
>>> timenow
datetime.datetime(2016, 11, 23, 9, 59, 54, 291083)
>>> timenow.date()
datetime.date(2016, 11, 23)
>>> timenow.time()
datetime.time(9, 59, 54, 291083)

the outputs are in datetime type.

>>> print(datetime.time())
00:00:00

or you can convert it into a string and print

>>> time_str = str(timenow.time())
>>> time_str
'09:59:54.291083'

Upvotes: 1

宏杰李
宏杰李

Reputation: 12178

date_object.time().__str__() this will give you the format you want

date_object.time().__str__() is equal to `print(date_object.time())`

but you can store it in a var, not just print it in you screen.

Upvotes: 0

Andy
Andy

Reputation: 50640

You need to add parenthesis () to your print(date_object.time) call:

print(date_object.time())

Example output:

>>> import datetime
>>> now = datetime.datetime.now()
>>> now.time()
datetime.time(22, 14, 6, 996000)
>>> print(now.time())
22:14:06.996000

Upvotes: 2

Related Questions