Как я могу извлечь только время в этом простом примере в 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