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)
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)
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)
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)
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