Преобразование строки времени AM/PM в 24-часовой формат — обычная задача в Python при работе с данными, связанными со временем. В этой статье мы рассмотрим несколько методов выполнения этого преобразования, приведя примеры кода для каждого подхода. К концу этой статьи вы получите четкое представление о различных методах, которые можно использовать для преобразования строк AM/PM в 24-часовой формат времени в Python.
Методы:
Метод 1. Использование модуля datetime
from datetime import datetime
def convert_to_24hrs(time_string):
dt = datetime.strptime(time_string, "%I:%M %p")
return dt.strftime("%H:%M")
Метод 2. Использование модуля времени
import time
def convert_to_24hrs(time_string):
t = time.strptime(time_string, "%I:%M %p")
return time.strftime("%H:%M", t)
Метод 3. Использование регулярных выражений
import re
def convert_to_24hrs(time_string):
match = re.match(r'(\d+):(\d+)\s*([AaPp][Mm])', time_string)
if match:
hour = int(match.group(1))
minute = int(match.group(2))
meridian = match.group(3).upper()
if meridian == 'PM' and hour != 12:
hour += 12
elif meridian == 'AM' and hour == 12:
hour = 0
return f"{hour:02d}:{minute:02d}"
else:
raise ValueError("Invalid time format")
Метод 4. Использование библиотеки стрелок
import arrow
def convert_to_24hrs(time_string):
dt = arrow.get(time_string, 'h:mm A')
return dt.format('HH:mm')
Метод 5. Использование библиотеки маятников
import pendulum
def convert_to_24hrs(time_string):
dt = pendulum.parse(time_string, strict=False)
return dt.format('HH:mm')
В этой статье мы рассмотрели несколько методов преобразования строк времени AM/PM в 24-часовой формат в Python. Мы рассмотрели различные подходы, используя встроенные модули, такие как datetimeи time, а также внешние библиотеки, такие как arrowи pendulum. Каждый метод обеспечивает надежный способ достижения желаемого преобразования. Понимая эти методы, вы сможете легко обрабатывать данные, связанные со временем, в своих приложениях Python.