Как я могу извлечь только время в этом простом примере в Python?

from datetime import datetime dt=datetime.strptime('01:45:56PM', '%I:%M:%S%p') print(dt)

Output:1900-01-01 13:45:56

где я просто хочу 13:45:56 как мой ответ. Как мне извлечь время только из ответа.

Заранее спасибо.

4 ответа

Используйте функцию времени из вашего объекта datetime:

from datetime import datetime
dt=datetime.strptime('01:45:56PM', '%I:%M:%S%p')
print(dt.time())

Вам нужно использовать strftime на объекте даты для форматирования объекта даты в требуемом формате, который %H:%M:%S:

% H - Часы в 24-часовом формате.

% M - минуты

%S - секунды

from datetime import datetime
dt=datetime.strptime('01:45:56PM', '%H:%M:%S%p')
print dt.strftime('%I:%M:%S')
>>> 13:45:56

Просто конвертируйте дату в строку и получайте часть времени из нее.

from datetime import datetime
dt=datetime.strptime('01:45:56PM', '%I:%M:%S%p')
print(str(dt).split(' ')[1])

Вы можете сделать это с помощью модуля времени Python

import time
time_tuple = time.strptime("01:45:56", "%I:%M:%S%p")
output = time.strftime("%H:%M:%S", time_tuple)

Для получения дополнительной информации вы можете посетить https://docs.python.org/2/library/time.html

Другие вопросы по тегам