2015-03-29 16 views
8

Mam pole, które pokazuje czas jako 1900-01-01 00:05:00, ale chcę go pokazać jako tylko 00:05:00, czyli tylko pięć minut.Python Konwertuj datę na godzinę Po prostu

Zajrzałem do dokumentacji Pythona i doprowadza mnie do szału. Od pytania How do I find the time difference between two datetime objects in python? wygląda na to, że powinno być coś z timedelta, ale nie jestem coraz bliżej rozwiązania. Pytanie Converting Date/Time to Just Time sugeruje, że możesz po prostu użyć znacznika format, ale to nie działa dla mnie. Spojrzałem również na converting date time to string bez powodzenia, wiem, że to jest coś prostego, ale patrzyłem na setki stron szukających czegoś prostego. Cała pomoc byłaby doceniona.

+0

Czy próbowałeś metody 'time'? Jeśli jest datetime, powinno to mieć. –

Odpowiedz

12

Say masz Datetime obiekt now:

now.time().strftime('%H:%M:%S')

10

Załaduj ciąg z strptime() i uzyskać time() komponent:

>>> from datetime import datetime 
>>> s = "1900-01-01 00:05:00" 
>>> dt = datetime.strptime(s, "%Y-%m-%d %H:%M:%S") 
>>> dt.time().isoformat() 
'00:05:00' 

Tutaj jesteśmy dumping czas z isoformat() w ISO 8601 format, ale możesz również zrzucić kod datetime.time z powrotem na ciąg znaków za pomocą strftime():

>>> dt.time().strftime("%H:%M:%S") 
'00:05:00' 
Powiązane problemy