Paga en 4 cuotas sin intereses de $52.25

Antes:$249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19d

13h

29m

11s

2

Cómo manejar fechas en Python: Clases, datetime, time y date

Vamos a aprender todos juntos cómo crear y manipular fechas con el lenguaje python

  1. Clase datetime
    Primero, es muy importante que hagamos import de la clase datatime proveniente del paquete con el mismo nombre, esto se hace como sigue:
from datetime import datetime
  • Fecha actual

¡Ahora ya podemos hacer uso del objeto datetime que proviene del paquete con el mismo nombre!

  • Función now()
    Esta función nos devuelve la fecha actual del sistema donde seestá ejectando python. Como yo tengo instalado python en mi computadora personal entonces segúnla hora de esta última será el dato que me devuelva datetime.now()
now = datetime.now()
print(now.year)print(now.month)print(now.day)print(now.hour)print(now.minute)print(now.second)

timestamp = now.timestamp() #Timestamp or Unix timestamp is the number of seconds elapsed from 1st of January 1970 UTC.

print(now)print(timestamp)

Cómo logras ver en el código de arriba, una vez creado un objeto que contiene la fecha actual, podemos acceder a todos sus atributos como: year, month, day, hour, etc.
Inclusive podemos acceder a la representación numérica de esta fecha, es decir, el timestamp

  • Creación de fechas personalizadas
year_2023 = datetime(2023, 5, 15, 23, 59, 59,500)

print(year_2023)print(year_2023.year)print(year_2023.month)print(year_2023.day)print(year_2023.hour)print(year_2023.minute)print(year_2023.second)print(year_2023.timestamp())

1. Clase date
Ya vimos como usar la clase datetime y sus objetos, ahora veremos la clase date
Lo que difiera entre la clase datetime y date, es quela primera almacena tanto la fecha como la hora mientras quela clase date solo almacena fechas, es decir, año mes y día.

Primero hay que importar la clase:


from datetime import date

Luego su uso es exactamente igual que como si usaremos la clase datetime:


current_date = date(2022, 12, 30)

print(current_date)print(current_date.year)print(current_date.month)print(current_date.day)

Como vez, también podemos acceder a los atributos year, month y day, pero si accedieramos a un atributo llamado hour nos lanzará un error porque en la clase date ese atributo no existe.

  1. Ahora veremos la clase time
    Si lo que diferencia a la clase datetime y date es que la ultima solo almacena fechas con dia mes y año, entonces lo que diferencia a las clases datetime y time es que esta ultima solo puede almacenar horas minutos, segundos y microsegundos.
    Veamos un ejemplo:
current_time = time(23,59,59)

print(current_time)print(current_time.hour)print(current_time.minute)print(current_time.second)print(current_time.microsecond)
  1. Formato a fechas
  • objetos a string
    La clase datetime posee el método strftime que pasa un objeto datetime a string:
from datetime import datetime
fecha = datetime(2023, 5, 15, 23, 59, 59,500)
new_fecha = fecha.strftime("%Y %m %d - %H:%M:%S")# Este formato se explicará más adelante aunque se entiende muy bien qué haceprint(type(new_fecha)) #class str
  • String a objetos datetime
    Para convertir un string a objeto datetime contamos con el método **strptime **el cual recibe un formato que más adelante explicaremos
from datetime import datetime
date_string = "5 December, 2019"print(“date_string =”, date_string)
date_object = datetime.strptime(date_string, “%d%B, %Y”)
print(“date_object =”, date_object)

Si queremos profundizar en cómo crear nuestro propios formatos podemos visitar el siguiente enlace donde nos indican cada elemento que se puede agregar en un patron de fecha: https://docs.python.org/es/3/library/datetime.html
Ahí podrás ver el capitulo: Códigos de formato strftime() y strptime()
Captura de pantalla 2023-04-21 122612.png

1. Intervalos entre fechas
Podemos realizar operaciones de **diferencia **entre dos objetos datetime para saber el intervalo en días que separan a ambas fechas:


today = date(year=2019, month=12, day=5)
new_year = date(year=2020, month=1, day=1)
time_left_for_newyear = new_year - today

# 27 days, 0:00:00
print('Time left for new year: ', time_left_for_newyear)
Escribe tu comentario
+ 2