Herramientas de usuario

Herramientas del sitio


informatica:programacion:python:fechas

¡Esta es una revisión vieja del documento!


Python: Fechas

import datetime as dt

Creación

Fecha actual:

d = dt.datetime.now()
 
print(d)
# Resultado
# 2020-11-13 15:53:49.883446

Al imprimir un objeto de tipo datetime obtenemos año, mes, día, minutos, segundos y microsegundos.

Fecha:

d = dt.date(2020, 12, 31)

Fecha y hora:

d = dt.datetime(2020, 12, 31, 12, 59, 59)

Para poder ver la fecha como una cadenad de caracteres:

str(d)
 
# Resultado:
# 2020-12-31 12:59:59

Extracción

import datetime as dt
 
x = dt.datetime.now()
 
print(x.year) # Extrae el año
print(x.month) # Extrae el mes
print(x.day) # Extrae el día
print(x.hour) # Extrae la hora
print(x.minute) # Extrae los minutos

Atributos

  • .year: extrae el año de una fecha.
  • .month: extrae el mes.
  • .day: extrae el día.
  • .hour: horas.
  • .minute: minutos.
  • .second: segundos.
d = dt.date(2020, 12, 31)
 
d.year # 2020
d.month # 12
d.day # 31

Formatos

Para formatear la fecha, se puede utilizar el método strftime():

print(d.strftime("%A") # Nombre del día de la semana (en inglés)
Directiva Descripción Ejemplo
%a Día de la semana (breve) Wed
%A Día de la semana Wednesday
%Y Año 2019
%m Número del mes (con cero inicial) 03
%d Día del mes (con cero inicial) 09
%H Hora (con cero inicial) 02
%M Minutos (con cero inicial) 58
%S Segundos (con cero inicial) 59
%f Microsegundos 131488
%b Nombre del mes (breve) Dec
%B Nombre del mes December
%Z Zona horaria CST

Comparación

Con objetos de tipo DateTime se pueden hacer comparaciones utilizando los operadores de comparación (<, >, ==…)

import datetime 
 
# date and time in yyyy/mm/dd hh:mm:ss format 
d1 = datetime.datetime(2020, 5, 13, 22, 50, 55) 
d2 = datetime.datetime(2020, 7, 13, 22, 50, 55)
 
print(d1 < d2) # True
 
print(d1 > d2) # False

Fecha

Si solo queremos comparar la fecha (año, mes y día):

import datetime 
 
# date and time in yyyy/mm/dd hh:mm:ss format 
d1 = datetime.datetime(2020, 5, 13, 22, 50, 55) 
d2 = datetime.datetime(2020, 7, 13, 22, 50, 55)
 
print(d1.date() < d2.date()) # True
 
print(d1.date() > d2.date()) # False

Tiempo

Para comparar solo el tiempo (horas, minutos, segundos…)

import datetime as dt
 
# date and time in yyyy/mm/dd hh:mm:ss format 
d1 = dt.datetime(2020, 5, 13, 22, 50, 55) 
d2 = dt.datetime(2020, 5, 13, 7, 50, 55)
d3 = dt.datetime(2020, 6, 13, 22, 50, 55)
 
print(d1.time() == d2.time()) #True
print(d1.time() == d3.time()) #False
print(d1.time() < d2.time()) #False
print(d1.time() < d3.time()) #True
print(d1.time() > d2.time()) #False
print(d1.time() > d3.time()) #False
informatica/programacion/python/fechas.1605280603.txt.gz · Última modificación: por tempwin