Módulo de tiempo en Python 3. Métodos principales, plantillas, ejemplos

Casi cualquier programa utiliza el tiempo. En Python, se ha desarrollado una biblioteca separada para esto: equipoutilizado para realizar una variedad de acciones con él. Para que funcione, primero debe declararse al principio del código. Esta línea se utiliza para esto:

tiempo de importación

Consideremos diferentes opciones sobre cómo usar este módulo correctamente en la práctica. 

Determinación del número de segundos desde la época

Para llevar a cabo esta tarea, hay una función equipo() que no toma parámetros. Su valor devuelto es cuántos segundos han pasado desde el 1 de enero de 1970. En Python, este tiempo se llama el inicio de una época. Al menos en sistemas operativos de la familia Unix.

En cuanto a Windows, la fecha es la misma, pero puede haber problemas con valores negativos que eran anteriores a esta fecha. 

La zona horaria utilizada es UTC.

tiempo de importación

segundos = tiempo.tiempo()

print(“Segundos desde época =”, segundos)

La complejidad de esta función es que no muestra exactamente la fecha, sino solo la cantidad de segundos. Para convertir al formato familiar para todos, debe usar información precisa. Para ello se utiliza la función tiempo.ctiempo().

Devolviendo la fecha, la hora en el formato habitual

Para devolver la hora en el formato habitual, existe un método tiempo.ctiempo(). Los corchetes indican una variable o un número que indica el número de segundos que han pasado desde el inicio de la época. Este método devuelve todas las características de fecha y hora, incluidos la fecha, el año, el número de horas, los minutos, los segundos y el día de la semana.

Esta función también se puede utilizar sin argumentos. En este caso, devuelve la fecha, hora, etc. actuales.

Aquí hay un fragmento de código que demuestra esto.

tiempo de importación

imprimir(hora.chora())

Mar 23 de octubre 10:18:23 2018

La última línea es lo que se imprime en la consola donde se ejecuta el intérprete de Python. El método formatea automáticamente el número de segundos recibido en una forma familiar para el usuario. Es cierto que todos los elementos descritos anteriormente rara vez se usan. Como regla general, debe obtener solo la hora o solo la fecha de hoy. Para esto, se usa una función separada: strftime(). Pero antes de considerarlo, necesitamos analizar la clase tiempo.struct_time.

tiempo de clase.struct_time

Esta es una categoría de argumentos que pueden ser aceptados por una variedad de métodos. No tiene opciones. Es una tupla con una interfaz con nombre. En pocas palabras, se puede acceder a los elementos de esta clase tanto por nombre como por número de índice.

Consta de los siguientes atributos.Módulo de tiempo en Python 3. Métodos principales, plantillas, ejemplos

¡Atención! A diferencia de otros lenguajes de programación, aquí el mes puede variar de 1 a 12, y no de cero a 11.

Devolver un formato específico

Usando la función strftime () puede obtener el año, mes, día, hora, minutos, segundos individualmente y devolverlos a una cadena de texto. Luego se puede imprimir para el usuario usando la función impresión () o procesado de otra manera.

Como argumento, una función puede tomar cualquier variable que tome un valor devuelto por otras funciones de este módulo. Por ejemplo, puede transferirle la hora local (se discutirá más adelante), de la cual extraerá los datos necesarios.

Aquí está el fragmento de código donde lo hacemos.

tiempo de importación

named_tuple = time.localtime() # obtener struct_time

time_string = time.strftime(«%m/%d/%Y, %H:%M:%S», nombrado_tuple)

imprimir (cadena de tiempo)

Si ejecuta este código, se mostrarán la fecha y la hora actuales. El formato y la secuencia de los elementos se pueden cambiar. Son los siguientes:

  1. %Y es el año.
  2. %m es el mes.
  3. %d - día.
  4. %H: tiempo.
  5. %M: minutos.
  6. %S - segundo.

En consecuencia, puede hacer que la salida sea exclusivamente del mes y el día. Para hacer esto, simplemente no necesita dar un comando para mostrar el año. Es decir, escribe en la fórmula anterior como argumento %m/%d, y listo. O viceversa, %d/%m. 

De hecho, el número de cadenas literales es mucho mayor. Aquí hay una tabla donde se describen en detalle.Módulo de tiempo en Python 3. Métodos principales, plantillas, ejemplos

Posponer un hilo por un cierto número de segundos

Para ello se utiliza la función dormir (). Un bloque bastante grande de tareas de programación está asociado con el paso del tiempo. A veces hay que posponer el siguiente paso por un tiempo determinado. Por ejemplo, si necesita interactuar con una base de datos que tarda cierto tiempo en procesarse.

Como argumento, el método usa un valor que expresa la cantidad de segundos para retrasar el siguiente paso del algoritmo.

Por ejemplo, en este fragmento, el retraso es de 10 segundos.

tiempo de importación

pausa = 10

print(«Programa iniciado...»)

time.sleep (pausa)

print(str(pausa) + » segundos pasados.»)

Como resultado, obtendremos esto:

Programa iniciado…

Pasaron 10 segundos.

Como podemos ver en la salida, el programa primero informa que se ha iniciado. Y después de diez segundos, escribió que ese tiempo había pasado.

La función le permite especificar la duración de la pausa en milisegundos. Para hacer esto, usamos valores fraccionarios del argumento de la función dormir. Por ejemplo, 0,1. Esto significa que el retraso será de 100 milisegundos.

Obtener hora local

Utilizando la función localtime(), el programa obtiene el número de segundos desde el inicio de la época en una zona horaria específica. 

Vamos a dar un código de ejemplo para mayor claridad.

tiempo de importación

resultado = hora.horalocal(1575721830)

imprimir(“resultado:”, resultado)

print(«negocio:», result.tm_year)

print(«tm_hora:», resultado.tm_hora)

Devuelve struct_time en UTC según la cantidad de segundos desde la época

Esta tarea se logra usando time.gmtime(). método. Quedará más claro si damos un ejemplo.

tiempo de importación

resultado = tiempo.gmtime(1575721830)

imprimir(“resultado:”, resultado)

print(«negocio:», result.tm_year)

print(«tm_hora:», resultado.tm_hora)

Si activa esta secuencia de acciones, se mostrará un conjunto de elementos relacionados con la hora, el año y la zona horaria.

Devuelve el número de segundos desde el inicio de la época con conversión automática a la hora local

Si se enfrenta a una tarea de este tipo, se implementa utilizando el método mktime (), el cual toma tiempo_estructura. Después de eso, realiza la acción inversa de la función. hora local(). Es decir, convierte el tiempo según la zona horaria local en el número de segundos que han pasado desde el inicio de la época, ajustados para la zona horaria.

Las funciones mktime() y localtime() están estrechamente entrelazadas. Este fragmento de código lo demuestra claramente. Echémosle un vistazo para entender más profundamente cómo funciona. 

tiempo de importación

segundos = 1575721830

# devuelve struct_time

t = hora.horalocal(segundos)

imprimir(«t1: «, t)

# devuelve segundos desde struct_time

s = tiempo.mktiempo(t)

imprimir(«ns:», segundos)

Vemos que la variable segundos se le han asignado 1575721830 segundos desde la época. Primero, el programa obtiene la fecha exacta, la hora y otros parámetros, en base a este valor, lo pone en una variable t, y luego convierte su contenido en una variable s.

Después de eso, golpea una nueva línea y muestra la cantidad de segundos en la consola. Puede comprobar que será el mismo número que se le asignó a la variable de segundos.

Fecha de salida de 9 números que se refieren a struct_time

Supongamos que tenemos 9 números que representan el año, el mes, la fecha, el día de la semana y otros valores, y necesitamos combinarlos en una cadena. Para ello se utiliza la función asctime (). Ella acepta o listo estructura_tiempo, o cualquier otra tupla de 9 valores que signifique lo mismo. Después de eso, se devuelve una cadena, que es una fecha, una hora y otros parámetros. 

Es muy conveniente usar este método para reunir datos dispares especificados por el usuario en una sola variable..

Por ejemplo, puede ser un programa donde el usuario especifica por separado el día, mes, año, día de la semana y otros datos relativos a la inscripción a un evento. Luego de eso, la información recibida se ingresa a la base de datos y luego se entrega a otra persona que la solicite.

Obtener la hora y la fecha en función de la cadena de Python

Supongamos que el usuario ha especificado datos dispares, y necesitamos combinarlos en una línea en el formato que ingresó la persona, y luego hacer una copia a otra variable, y reconstruirla en un formato estándar allí. Para ello se utiliza la función tiempo.strptiempo().

Toma una variable en la que se especifica este valor y nos devuelve lo que ya nos es familiar. tiempo_estructura.

Para mayor claridad, escribiremos un programa de este tipo.

tiempo de importación

time_string = «15 junio, 2019»

resultado = time.strptime(time_string, «%d %B, %Y»)

imprimir (resultado)

¿Adivina cuál será la salida? Trate de adivinar sin mirar la línea de fondo. Y luego comprueba la respuesta.

time.struct_time (tm_year = 2019, tm_mon = 6, tm_mday = 15, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 5, tm_yday = 166, tm_isdst = -1)

En una palabra, trabajar con fechas y horas en Python no es nada difícil. Es suficiente seguir estas instrucciones, y todo saldrá bien. Uso de la biblioteca equipo el usuario obtiene una gran cantidad de oportunidades para trabajar con el tiempo, tales como:

  1. Suspender la ejecución del programa durante un período de tiempo específico.
  2. Muestra el tiempo que ha pasado desde la época, en segundos. Esta información se puede utilizar para sumar el tiempo o realizar otras operaciones matemáticas con él.
  3. Convierte a un formato conveniente. Además, el propio programador puede establecer qué elementos se mostrarán y en qué secuencia. 

También hay una serie de otras posibilidades, pero hoy hemos analizado las más básicas. Serán útiles en casi cualquier programa que de alguna manera funcione con el tiempo. Buena suerte.

Deje un comentario