#Dates i Hores en Python: Convertir Cadenes (string) a Objectes datetime i time
En el desenvolupament de programari, especialment en aplicacions que manegen dades temporals com a sistemes de reserves, anàlisi de sèries temporals i programació de tasques, és comú treballar amb dates i hores. Aquestes dades sovint es representen com a cadenes de text. Per poder manipular-los eficaçment, necessitem convertir aquestes cadenes a objectes de data i hora. A Python, el mòdul datetime és fonamental per a aquesta tasca. En aquest article, aprendràs com convertir una cadena a un objecte datetime o time amb exemples pràctics i detallats.
El mòdul datetime de Python proporciona classes per treballar amb dates i hores. Les classes principals d'aquest mòdul són:
datetime.datetime: representa una combinació de data i hora.datetime.date: representa una data (any, mes, dia).datetime.time: representa una hora (hora, minut, segon, microsegon).Treballar amb objectes de data i hora en lloc de cadenes permet realitzar operacions avançades com ara comparacions, càlculs de diferències entre dates, formateig i moltes altres. Això és crucial en aplicacions que necessiten precisió i eficiència en el maneig de dades temporals.
Arrenca el teu projecte amb l'estabilitat de Debian 12 en un Cloud totalment escalable i personalitzable.
Per convertir una cadena a un objecte datetime, utilitzem la funció strptime de la classe datetime.datetime. A continuació, se'n presenta un exemple pràctic:
from datetime import datetime
# Cadena que representa una data i hora
fecha_str = "2024-06-13 14:30:00"
# Convertir la cadena a un objecte datetime
fecha_datetime = datetime.strptime(fecha_str, "%Y-%m-%d %H:%M:%S")
print(fecha_datetime)
En aquest exemple, la cadena data_str conté una data i hora en el format "YYYY-MM-DD HH:MM
La funció strptime converteix aquesta cadena en un objecte datetime. El segon argument de strptime especifica el format de la cadena d'entrada.
Aquí tens alguns dels formats més comuns que pots fer servir:
%Y: Any amb quatre dígits (per exemple, 2024)%m: Mes amb dos dígits (01-12)%d: Dia amb dos dígits (01-31)%H: Hora en format 24 hores (00-23)%M: Minuts (00-59)%S: Segons (00-59)Si només necessites l'hora i no la data completa, pots convertir una cadena a un objecte time. Aquí en tens un exemple:
from datetime import datetime
# Cadena que representa només una hora
hora_str = "14:30:00"
# Convertir la cadena a un objecte time
hora_time = datetime.strptime(hora_str, "%H:%M:%S").time()
print(hora_time)
En aquest cas, utilitzem strptime per crear un objecte datetime, i després cridem el mètode time() per extreure només l'hora.
El mòdul dateutil ofereix una funció parser.parse que pot interpretar automàticament molts formats de data i hora sense necessitat d'especificar el format exacte. Aquí en tens un exemple:
from dateutil import parser
# Cadena amb data i hora en un format flexible
fecha_str = "13 de junio de 2024 2:30 PM"
# Convertir la cadena a un objecte datetime
fecha_datetime = parser.parse(fecha_str)
print(fecha_datetime)
La funció parse és molt útil quan treballes amb dades en formats variats i no desitges especificar manualment el format cada vegada.
Treu-li el màxim partit al teu projecte amb el Cloud que té els discos més ràpids i CPU d'alt rendiment.
Convertir cadenes a objectes datetime o time a Python és una habilitat essencial per a qualsevol desenvolupador que manegi dades temporals. El mòdul datetime i la biblioteca dateutil proporcionen eines potents i flexibles per realitzar aquestes conversions de manera eficient. Amb aquests coneixements, podràs manipular dates i hores a les teves aplicacions amb facilitat i precisió.
Ara estàs preparat per treballar amb dates i hores a Python de manera professional. Bona sort en els teus projectes de programació!