Python DateTime – Clase de fecha y hora

La clase DateTime del módulo DateTime, como sugiere el nombre, contiene información tanto sobre la fecha como sobre la hora. Como un objeto de fecha, DateTime asume el calendario gregoriano actual extendido en ambas direcciones; como un objeto de tiempo, DateTime asume que hay exactamente 3600*24 segundos en cada día. Pero a diferencia de la clase de fecha, los objetos de la clase DateTime son objetos potencialmente conscientes, es decir, también contienen información sobre la zona horaria.

Sintaxis:

class datetime.datetime(año, mes, día, hora=0, minuto=0, segundo=0, microsegundo=0, tzinfo=Ninguno, *, fold=0)

Los argumentos de año, mes y día son obligatorios. tzinfo puede ser Ninguno, el resto todos los atributos deben ser un número entero en el siguiente rango:  

  • MINYEAR(1) <= año <= MAXYEAR(9999)
  • 1 <= mes <= 12
  • 1 <= día <= número de días en el mes y año dados
  • 0 <= hora < 24
  • 0 <= minuto < 60
  • 0 <= segundo < 60
  • 0 <= microsegundo < 1000000
  • doblar [0, 1]

Nota: Pasar un argumento que no sea un número entero generará un TypeError y pasar argumentos fuera del rango generará un ValueError.

Ejemplo: crear una instancia de la clase DateTime

Python3

# Python program to
# demonstrate datetime object
  
from datetime import datetime
  
# Initializing constructor
a = datetime(2022, 10, 22)
print(a)
  
# Initializing constructor
# with time parameters as well
a = datetime(2022, 10, 22, 6, 2, 32, 5456)
print(a)
Producción

2022-10-22 00:00:00
2022-10-22 06:02:32.005456

Atributos de clase

Veamos los atributos provistos por esta clase – 

Nombre del Atributo Descripción
min El DateTime mínimo representable
máximo El DateTime máximo representable
resolución La diferencia mínima posible entre objetos de fecha y hora
año El rango de año debe estar entre MINYEAR y MAXYEAR
mes El rango de mes debe estar entre 1 y 12
día El rango de día debe estar entre 1 y el número de días en el mes dado del año dado
hora El rango de hora debe estar entre 0 y 24 (sin incluir 24)
minuto El rango de minutos debe estar entre 0 y 60 (sin incluir 60)
segundo El rango de segundos debe estar entre 0 y 60 (sin incluir 60)
microsegundo El rango de microsegundos debe estar entre 0 y 1000000 (sin incluir 1000000)
tzinfo El objeto que contiene información de la zona horaria
doblar Representa si el pliegue se ha producido en el tiempo o no

Ejemplo 1: Obtener el objeto DateTime representable mínimo y máximo

Python3

from datetime import datetime
  
# Getting min datetime
mindatetime = datetime.min
print("Min DateTime supported", mindatetime)
  
# Getting max datetime
maxdatetime = datetime.max
print("Max DateTime supported", maxdatetime)
Producción

Min DateTime supported 0001-01-01 00:00:00
Max DateTime supported 9999-12-31 23:59:59.999999

Ejemplo 2: acceder a los atributos del objeto de fecha y hora

Python3

from datetime import datetime
  
# Getting Today's Datetime
today = datetime.now()
  
# Accessing Attributes
print("Day: ", today.day)
print("Month: ", today.month)
print("Year: ", today.year)
print("Hour: ", today.hour)
print("Minute: ", today.minute)
print("Second: ", today.second)
Producción

Day:  26
Month:  7
Year:  2021
Hour:  16
Minute:  24
Second:  7

Funciones de clase

La clase DateTime proporciona varias funciones para tratar con los objetos DateTime, como podemos convertir el objeto DateTime en una string y una string en objetos DateTime, también podemos obtener el día de la semana para el día particular de la semana del mes en particular, también podemos establecer la hora zona para un objeto DateTime en particular, etc.

Lista de métodos de la clase DateTime

Nombre de la función Descripción
comozonahoraria() Devuelve el objeto DateTime que contiene información de la zona horaria.
combinar() Combina los objetos de fecha y hora y devuelve un objeto DateTime
tiempoc() Devuelve una representación de string de fecha y hora.
fecha() Devuelve el objeto de la clase Date
desdeisoformato() Devuelve un objeto de fecha y hora de la representación de string de la fecha y la hora
deordinal() Devuelve un objeto de fecha del ordinal gregoriano proléptico, donde el 1 de enero del año 1 tiene el ordinal 1. La hora, el minuto, el segundo y el microsegundo son 0
fromtimestamp() Fecha y hora de devolución desde la marca de tiempo POSIX
isocalendario() Devuelve una tupla año, semana y día de la semana
isoformato() Devuelve la representación de string de fecha y hora.
isodía de la semana() Devuelve el día de la semana como un número entero donde el lunes es 1 y el domingo es 7
ahora() Devuelve la fecha y hora locales actuales con el parámetro tz
reemplazar() Cambia los atributos específicos del objeto DateTime
strftime() Devuelve una representación de string del objeto DateTime con el formato dado
strptime() Devuelve un objeto DateTime correspondiente a la string de fecha
tiempo() Devolver el objeto de clase de tiempo
timetuple() Devuelve un objeto de tipo time.struct_time
tiempotz() Devolver el objeto de clase de tiempo
Este Dia() Devolver DateTime local con tzinfo como Ninguno
toordinal() Devuelve el ordinal gregoriano proléptico de la fecha, donde el 1 de enero del año 1 tiene el ordinal 1
tzname() Devuelve el nombre de la zona horaria.
utcfromtimestamp() Devolver UTC desde la marca de tiempo POSIX
descontar() Devuelve el desplazamiento UTC
ahora() Devolver la fecha y hora UTC actual
día laborable() Devuelve el día de la semana como un número entero donde el lunes es 0 y el domingo es 6

Ejemplo 1: obtener la fecha de hoy

Python3

from datetime import datetime
  
# Getting Today's Datetime
today = datetime.now()
print("Today's date using now() method:", today)
  
today = datetime.today()
print("Today's date using today() method:", today)

Producción

Fecha de hoy usando el método now(): 2021-07-26 22:23:22.725573

Fecha de hoy usando el método today(): 2021-07-26 22:23:22.725764

Ejemplo 2: Obtener fecha y hora de la marca de tiempo y ordinal

Python3

from datetime import datetime
  
# Getting Datetime from timestamp
date_time = datetime.fromtimestamp(1887639468)
print("Datetime from timestamp:", date_time)
  
# Getting Datetime from ordinal
date_time = datetime.fromordinal(737994)
print("Datetime from ordinal:", date_time)
Producción

Datetime from timestamp: 2029-10-25 16:17:48
Datetime from ordinal: 2021-07-23 00:00:00

Nota: Para obtener más información sobre Python Datetime, consulte el Tutorial de Python Datetime

Publicación traducida automáticamente

Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *