Cuando trabaje con fechas y horas en Python, a menudo necesitará calcular la compensación de tiempo. En este tutorial, aprenderá a calcular la diferencia entre dos marcas de tiempo en horas, minutos y segundos.
Al final de este tutorial, habrás aprendido:
- como usar python
datetime
módulo para trabajar con fechas y horas, - Qué
timedelta
son los objetos, y cuán útiles son, y - calcular la diferencia de tiempo entre dos marcas de tiempo, en horas, minutos y segundos.
Empecemos.
Cómo usar el módulo de fecha y hora de Python
Para trabajar con fechas y horas en Python, usará el datetime
módulo. el datetime
módulo es parte de la biblioteca estándar de Python. Entonces puede continuar e importarlo inmediatamente a su entorno de trabajo, así:
import datetime
Para calcular la diferencia horaria, debe crear dos marcas de tiempo diferentes. Puedes elegir crear:
- de ellos
date
objetos, - de ellos
time
objetos, o - una combinación de ambos
date
ytime
—datetime
objetos.
Cómo crear un objeto de fecha en Python
Vamos a importarlo date
clase del módulo de fecha y hora. Para crear un objeto de fecha en Python, puede usar la sintaxis general datetime.date(<year>,<month>,<day>)
. Aquí hay un ejemplo de cómo crear un date
objeto date1
:
from datetime import date
date1 = datetime.date(2022,3,27)
print(date1)
# Output: 2022-03-27
Puede probar el código en el compilador Geekflare Python para probar. O instala Python en tu computadora.
Como se muestra arriba, cuando imprime la fecha, se formatea en el YYYY-MM-DD
formato para fechas.
Notar: asegúrese de especificar el mes como un número entero sin que ningún ceros a la izquierda. Probablemente esté acostumbrado a agregar un cero delante del mes cuando escribe fechas.
Por ejemplo, para especificar una fecha en junio, el sexto mes del año: use 6, no 06.
Por ejemplo, intente ejecutar el siguiente fragmento de código, donde el mes se mencionó como 03
en lugar de solo 3
. Verá que genera un error de sintaxis como se muestra:
date1 = datetime.date(2022,03,27)
print(date1)
# Error Message
File "<ipython-input-12-6eb72084e6ce>", line 1
date1 = datetime.date(2022,03,27)
^
SyntaxError: invalid token
Ahora veamos cómo crear un time
objeto en Python.
Cómo crear un objeto de tiempo en Python
Para crear un objeto de tiempo, vamos a importarlo time
clasificar. Cualquier objeto de tiempo de Python se puede crear usando el time
clase especificando los siguientes atributos de clase: hour
, minute
, second
, y microsecond
.
Sin embargo, todos estos atributos son Opcional. Si no especifica un determinado atributo, por ejemplo: second
, se establece en 0
por defecto.
El siguiente fragmento de código muestra cómo puede crear un objeto de tiempo time1
. Al igual que con el date
objeto, puede imprimir el time
objeto para ver la hora formateada.
from datetime import time
time1 = datetime.time(13,27,45,4600)
print(time1)
# Output: 13:27:45.004600
Cómo crear un objeto de fecha y hora en Python
Como puedes ver, el date
el objeto no tiene información de tiempo. Y el time
el objeto no contiene información de fecha.
Sin embargo, en la práctica, necesitará tanto la fecha como la hora. Por lo tanto, se recomienda utilizar el datetime
clase en su lugar.
Puedes acceder a la datetime
clasificar y crear datetime
objetos en Python, como se muestra a continuación:
dt1 = datetime.datetime(2022,3,27,13,27,45,46000)
print(dt1)
# Output: 2022-03-27 13:27:45.046000
Ahora vamos a crear otro objeto de fecha y hora dt2
sin el second
atributo. Puedes ver que está configurado para 0
– el valor predeterminado.
dt2 = datetime.datetime(2022,6,30,14,28)
print(dt2)
# Output: 2022-06-30 14:28:00
Hasta ahora, ha aprendido a crear marcas de tiempo en Python, en forma de fechas, horas y fechas y horas. Ahora es el momento de ver cómo puede calcular la diferencia entre dos marcas de tiempo.
Vaya a la siguiente sección para averiguarlo.
Cómo usar el objeto timedelta en Python
en Python, timedelta
denota un período de tiempo. es la diferencia entre dos date
, time
, Donde datetime
objetos.
Si sumas o restas dos date
, time
, Donde datetime
objetos, obtendrás un timedelta
objeto. Este timedelta
El objeto tiene atributos y métodos útiles que pueden ayudar a calcular la diferencia horaria.
Vamos a calcular la diferencia entre los dos. datetime
objetos dt1
y dt2
.
dt1 = datetime.datetime(2022,3,27,13,27,45,46000)
dt2 = datetime.datetime(2022,6,30,14,28)
tdelta = dt2 - dt1
print(tdelta)
print(type(tdelta))
# Output
95 days, 1:00:14.954000
<class 'datetime.timedelta'>
En el fragmento de código anterior, puede ver que el tdelta
variable contiene la diferencia de tiempo entre dt1
y dt2
. Y el tipo de tdelta
se verifica que es de la clase timedelta
usando Python incorporado type()
Una función.
Ahora, codifiquemos otro ejemplo.
Cómo encontrar la diferencia horaria entre dos fechas
Tomemos un ejemplo simple pero interesante.
Problema: Para calcular el diferencia horaria entre la fecha actual (hoy) y su cumpleaños.
Para hacer esto, establezca hoy dia como la primera marca de tiempo, y su fecha de cumpleaños como la segunda marca de tiempo.
Primero, vamos a crear dos datetime
objetos:
- uno para hoy, llamémoslo
today
, y - otro para tu cumpleaños, llamémoslo
bday
el datetime
la clase tiene la now()
método que le da la fecha y hora local actual. Así que aprovechemos esta oportunidad para obtener today
—nuestra fecha de referencia.
today = datetime.datetime.now()
print(today)
# Sample Output: 2022-01-22 09:10:18.489538
En el siguiente código, reemplace bday
con tu cumpleaños para calcular cuánto tiempo te queda para tu cumpleaños este año.
Si estás leyendo esto después de tu cumpleaños, siéntete libre de establecer bday
en tu próximo cumpleaños.
bday = datetime.datetime(2022,8,30,11,59)
print(bday)
# Sample Output: 2022-08-30 11:59:00
El siguiente paso es calcular time_diff
el cual es un timedleta
objeto, como se explicó anteriormente. solo resta today
de tu bday
, y tendrás jet lag.
time_diff = bday - today
print(f"Your birthday is in {time_diff}")
# Output
Your birthday is in 220 days, 2:46:00.127416
Para saber el número de días restantes, utilice el atributo de días en time_diff
, como se muestra:
tdays = time_diff.days
print(f"Your birthday is in {tdays} days.")
# Output
Your birthday is in 220 days.
Cómo encontrar la diferencia de tiempo en segundos
Ahora calculemos a cuántos segundos falta tu cumpleaños.
Para calcular la diferencia de tiempo total en segundos, utilice el total_seconds()
método en el timedelta
objeto time_diff
.
tsecs = time_diff.total_seconds()
print(f"Your birthday is {tsecs} seconds away.")
# Output
Your birthday is 19017960.127416 seconds away.
Bueno, ¡es demasiado tiempo para esperar!
Dicho esto, ahora sabes cómo calcular la diferencia de tiempo entre dos marcas de tiempo en segundos.
Ahora tomemos algunos conceptos básicos y escribamos lo siguiente. Un día se compone de 24 horas, una hora dura 60 minutos y 60 segundos constituyen un minuto.
Esto se resume en la siguiente imagen:
Entonces, para convertir segundos a minutos, horas y días, puede usar la siguiente tabla y dividir por el factor de conversión correspondiente.
En las siguientes secciones, convertiremos la diferencia de tiempo de segundos a minutos y horas.
Cómo encontrar la diferencia horaria en minutos
Para obtener la diferencia horaria en minutos, simplemente divide el número total de segundos entre 60.
dividamos tsecs
por 60, y almacenarlo en una variable llamada tmins
, así:
tmins = tsecs/60
print(f"Your birthday is {tmins} minutes away.")
# Output
Your birthday is 316966.0021236 minutes away.
Cómo encontrar la diferencia horaria en horas
Ahora que ha calculado la compensación de tiempo en minutos, puede dividirla por un factor de 60 para obtener la compensación en horas. O puede dividir el número total de segundos por 60*60 = 3600.
thrs = tsecs/(60*60)
print(f"Your birthday is {thrs} hours away.")
# Output
Your birthday is 5282.76670206 hours away.
Ahora sabe cómo calcular la diferencia horaria en la unidad de su elección.
Conclusión
En este tutorial, aprendiste a:
- crear y trabajar con fechas y horas usando Python
datetime
módulo, - usar
timedelta
objetos para obtener un lapso de tiempo, o una diferencia de tiempo, y - calcular la diferencia horaria en segundos, minutos y horas.
Espero que hayas encontrado útil este tutorial. Ahora que sabe todo sobre el cálculo del desfase horario en Python, es hora de poner en práctica sus habilidades.
¡Feliz aprendizaje y codificación!
Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.
Direcciones de Billetera:
- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS
- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe
- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f
- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx
También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:
- Telegram
Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones