python hosting

Cómo calcular la diferencia horaria en Python

Publicado por
Comparte en redes sociales


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 y timedatetime 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&gt;,<month&gt;,<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.

Leer también  ¿Qué es una VPN y cómo funciona?

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.

Leer también  9 Best Eco Server Hosting to Use in 2024

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:

cryptoshitcompra.com/wp-content/uploads/2022/01/Como-calcular-la-diferencia-horaria-en-Python.png» alt=»» width=»900″ height=»506″/>
Horas, minutos y segundos

Entonces, para convertir segundos a minutos, horas y días, puede usar la siguiente tabla y dividir por el factor de conversión correspondiente.

png» alt=»» width=»900″ height=»506″/>
Tabla de conversión de tiempo

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.

Leer también  8 Platforms to Host Virtual Career Fairs in 2023

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!



Source link

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:

-Twitter

- 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

Dejar un comentario

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