Vamos a aprender todos juntos cómo crear y manipular fechas con el lenguaje python
from datetime import datetime
¡Ahora ya podemos hacer uso del objeto datetime que proviene del paquete con el mismo nombre!
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
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.
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)
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
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()
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)