Última actualización: 04 de diciembre de 2023

10.3. datetime - Fecha y hora

Nota

Propósito: Manipulación de valores de fecha y hora

El módulo datetime contiene funciones y clases para realizar análisis, formateo y aritmética de fecha y hora, por separado y en conjunto.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import datetime

fecha_nacimiento = "03121980"

dia = fecha_nacimiento[0:2]
mes = fecha_nacimiento[2:4]
ano = fecha_nacimiento[4:8]

fecha_nacimiento = datetime.date(int(ano), int(mes), int(dia))

print(
    "Fecha de nacimiento: {fecha}.".format(
        fecha=fecha_nacimiento,
    )
)

El anterior código al ejecutar debe mostrar el siguiente mensaje:

Fecha de nacimiento: 1980-12-03.

10.3.1. strftime

strftime es un formateador de cadenas, esto formateará un objeto de fecha y hora en formato de cadena de caracteres.

Los objetos date, datetime, y time admiten un método strftime(format), para crear una cadena que represente el objeto de fecha y hora bajo el control de una cadena de caracteres de formato explícito.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import datetime

datos_basicos = {
    "fecha_nacimiento": "03121980",
    "lugar_nacimiento": "Maracaibo, Zulia, Venezuela",
}

dia = datos_basicos["fecha_nacimiento"][0:2]
mes = datos_basicos["fecha_nacimiento"][2:4]
ano = datos_basicos["fecha_nacimiento"][4:8]

fecha_nacimiento = datetime.date(int(ano), int(mes), int(dia))

print(
    "Fecha y lugar de nacimiento: {fecha} en {lugar}.".format(
        fecha=datetime.datetime.strftime(fecha_nacimiento, "%d de %B de %Y"),
        lugar=datos_basicos["lugar_nacimiento"],
    )
)

El anterior código al ejecutar debe mostrar el siguiente mensaje:

Fecha y lugar de nacimiento: 03 de December de 1980 en Maracaibo, Zulia, Venezuela.

10.3.2. strptime

strptime es un analizador de cadenas, esto convertirá un formato de cadena a un objeto de fecha y hora.

El método de clase datetime.strptime() crea un objeto datetime a partir de una cadena de caracteres que representa una fecha y hora y una cadena de formato correspondiente.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import datetime

datos_basicos = {
    "fecha_nacimiento": "03/12/1980",
    "lugar_nacimiento": "Maracaibo, Zulia, Venezuela",
}

print(
    "Fecha y lugar de nacimiento: {fecha} en {lugar}.".format(
        fecha=datetime.datetime.strftime(
            datetime.datetime.strptime(datos_basicos["fecha_nacimiento"], "%d/%m/%Y"),
            "%d de %B de %Y",
        ),
        lugar=datos_basicos["lugar_nacimiento"],
    )
)

El anterior código al ejecutar debe mostrar el siguiente mensaje:

Fecha y lugar de nacimiento: 03 de December de 1980 en Maracaibo, Zulia, Venezuela.

Ver también

Consulte la sección de lecturas suplementarias del entrenamiento para ampliar su conocimiento en esta temática.


¿Cómo puedo ayudar?

¡Mi soporte está aquí para ayudar!

Mi horario de oficina es de lunes a sábado, de 9 AM a 5 PM. GMT-4 - Caracas, Venezuela.

La hora aquí es actualmente 7:35 PM GMT-4.

Mi objetivo es responder a todos los mensajes dentro de un día hábil.

Contrata mi increíble soporte profesional