Datetimes con Python
- Datetime es básicamente un Objeto de python que representa un punto en el tiempo.
- Como años, días, segundos, milisegundos. Esto es muy útil para crear nuestros programas. Es bueno familiarizarnos
- El módulo de fecha y hora suministra clases para manipular las fechas y horas de forma simple y compleja. Si bien se admite la aritmética de la fecha y la hora, la aplicación se centra en la extracción eficiente de atributos para el formato y la manipulación de la salida
Objeto time
- Un objeto time representa una hora del día (local), independiente de cualquier día en particular, y sujeto a ajuste a través de un objeto tzinfo.
- Todos los argumentos son opcionales. tzinfo puede ser None, o una instancia de una subclase de tzinfo.
- El resto de los argumentos pueden ser enteros, en los siguientes rangos:
- Si se da un argumento fuera de esos rangos, se eleva el Value-Error.
- Todos los valores por defecto son 0 excepto tzinfo, que por defecto es None.
Objetos Naive & Aware
- Hay dos tipos de objetos de fecha y hora: “naive” & “aware”.
- Un objeto “aware” tiene suficiente conocimiento de los ajustes algorítmicos y políticos de la hora aplicables, como la información sobre la zona horaria y el horario de verano, para situarse en relación con otros objetos”aware”.
- Un objeto “aware” se utiliza para representar un momento específico en el tiempo que no está abierto a la interpretación. Ignora Relatividad
- Un objeto “naive” no contiene suficiente información para situarse sin ambigüedades en relación con otros objetos de fecha/hora
- El que un objeto “naive” represente el Tiempo Universal Coordinado (UTC), la hora local o la hora de alguna otra zona horaria depende puramente del programa, al igual que depende del programa el que un número determinado represente metros, millas o masa
- Los objetos “naive” son fáciles de entender y de trabajar, a costa de ignorar algunos aspectos de la realidad.
- Esto finalmente nos sirve para trabajar zonas horarias, y cambios de horas (segun verano-invierno) y zonas americanas como por ejemplo EST o EDT
- Soportar las zonas horarias en niveles más profundos de detalle depende de la aplicación.
- Las reglas para el ajuste de tiempo en todo el mundo son más políticas que racionales, cambian frecuentemente, y no hay un estándar adecuado para cada aplicación aparte del UTC
- Los objetos de este tipo son inmutables.
- Los objetos del tipo de fecha son siempre ingenuos.
Timedelta
- Un objeto timedelta representa una duración, la diferencia entre dos fechas u horas.
- Todos los argumentos son opcionales y por defecto a 0.
- Los argumentos pueden ser enteros o flotantes, y pueden ser positivos o negativos.
- Sólo los días, segundos y microsegundos se almacenan internamente. Los argumentos se convierten a esas unidades:
- Un milisegundo se convierte en 1000 microsegundos.
- Un minuto se convierte en 60 segundos.
- Una hora se convierte en 3600 segundos.
- Una semana se convierte en 7 días.
- y los días, los segundos y los microsegundos se normalizan para que la representación sea única, con
- 0 <= microseconds < 1000000
- 0 <= seconds < 3600*24 (the number of seconds in one day)
- -999999999 <= days <= 999999999
“Datetimes con Python”– Daniel MoralesTweet