Различные методы преобразования строки AM/PM в 24-часовое время в Python

Преобразование строки времени 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.