Python - Fecha y hora
Página anteriorPágina siguiente
Un programa de Python puede manejar la fecha y la hora de varias maneras. Convertir entre formatos de fecha es una tarea común para las computadoras. Los módulos de tiempo y calendario de Python ayudan a rastrear fechas y horas.
¿Qué es Tick?
Los intervalos de tiempo son números de punto flotante en unidades de segundos. Los instantes particulares en el tiempo se expresan en segundos desde las 00:00:00 horas del 1 de enero de 1970 (época).
Hay un momento popular módulo disponible en Python que proporciona funciones para trabajar con tiempos y para convertir entre representaciones. La función tiempo.tiempo() devuelve la hora actual del sistema en tics desde las 00:00:00 horas del 1 de enero de 1970 (época).
Ejemplo
Demostración en vivo#!/usr/bin/python import time; # This is required to include time module. ticks = time.time() print "Number of ticks since 12:00am, January 1, 1970:", ticks
Esto produciría un resultado como el siguiente −
Number of ticks since 12:00am, January 1, 1970: 7186862.73399
La aritmética de fechas es fácil de hacer con ticks. Sin embargo, las fechas anteriores a la época no se pueden representar de esta forma. Las fechas en un futuro lejano tampoco se pueden representar de esta manera:el punto de corte es en algún momento de 2038 para UNIX y Windows.
¿Qué es TimeTuple?
Muchas de las funciones de tiempo de Python manejan el tiempo como una tupla de 9 números, como se muestra a continuación −
Índice | Campo | Valores |
---|---|---|
0 | año de 4 dígitos | 2008 |
1 | Mes | 1 a 12 |
2 | Día | 1 a 31 |
3 | Hora | 0 a 23 |
4 | Minuto | 0 a 59 |
5 | Segundo | 0 a 61 (60 o 61 son segundos bisiestos) |
6 | Día de la semana | 0 a 6 (0 es lunes) |
7 | Día del año | 1 a 366 (día juliano) |
8 | Horario de verano | -1, 0, 1, -1 significa que la biblioteca determina el horario de verano |
La tupla anterior es equivalente a struct_time estructura. Esta estructura tiene los siguientes atributos −
Índice | Atributos | Valores |
---|---|---|
0 | tm_año | 2008 |
1 | tm_mon | 1 a 12 |
2 | tm_mday | 1 a 31 |
3 | tm_hora | 0 a 23 |
4 | tm_min | 0 a 59 |
5 | tm_sec | 0 a 61 (60 o 61 son segundos bisiestos) |
6 | tm_wday | 0 a 6 (0 es lunes) |
7 | tm_yday | 1 a 366 (día juliano) |
8 | tm_isdst | -1, 0, 1, -1 significa que la biblioteca determina el horario de verano |
Obtener la hora actual
Para traducir un instante de tiempo de un segundos desde la época valor de coma flotante en una tupla de tiempo, pase el valor de coma flotante a una función (por ejemplo, hora local) que devuelve una tupla de tiempo con los nueve elementos válidos.
Demostración en vivo#!/usr/bin/python import time; localtime = time.localtime(time.time()) print "Local current time :", localtime
Esto produciría el siguiente resultado, que podría formatearse en cualquier otra forma presentable:
Local current time : time.struct_time(tm_year=2013, tm_mon=7, tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
Obteniendo la hora formateada
Puede formatear en cualquier momento según sus requisitos, pero el método simple para obtener la hora en un formato legible es asctime() −
Demostración en vivo#!/usr/bin/python import time; localtime = time.asctime( time.localtime(time.time()) ) print "Local current time :", localtime
Esto produciría el siguiente resultado −
Local current time : Tue Jan 13 10:17:09 2009
Obtener el calendario de un mes
El módulo de calendario ofrece una amplia gama de métodos para jugar con calendarios anuales y mensuales. Aquí, imprimimos un calendario para un mes determinado (enero de 2008) −
Demostración en vivo#!/usr/bin/python import calendar cal = calendar.month(2008, 1) print "Here is the calendar:" print cal
Esto produciría el siguiente resultado −
Here is the calendar: January 2008 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
El tiempo Módulo
Hay un momento popular módulo disponible en Python que proporciona funciones para trabajar con tiempos y para convertir entre representaciones. Aquí está la lista de todos los métodos disponibles −
Sr.No. | Función con descripción |
---|---|
1 | tiempo.altzone El desplazamiento de la zona horaria DST local, en segundos al oeste de UTC, si se define uno. Esto es negativo si la zona horaria DST local está al este de UTC (como en Europa occidental, incluido el Reino Unido). Solo use esto si la luz del día es distinta de cero. |
2 | tiempo.asctime([tiempotuple]) Acepta una tupla de tiempo y devuelve una cadena legible de 24 caracteres como 'Martes 11 de diciembre 18:07:14 2008'. |
3 | hora.reloj( ) Devuelve el tiempo de CPU actual como un número de segundos de punto flotante. Para medir los costos computacionales de diferentes enfoques, el valor de time.clock es más útil que el de time.time(). |
4 | tiempo.ctiempo([segs]) Como asctime(localtime(secs)) y sin argumentos es como asctime() |
5 | tiempo.gmtime([segs]) Acepta un instante expresado en segundos desde la época y devuelve una tupla de tiempo t con la hora UTC. Nota:t.tm_isdst siempre es 0 |
6 | hora.localtime([segs]) Acepta un instante expresado en segundos desde la época y devuelve una tupla de tiempo t con la hora local (t.tm_isdst es 0 o 1, dependiendo de si DST se aplica a segundos instantáneos por reglas locales). |
7 | tiempo.mktime(tupletime) Acepta un instante expresado como una tupla de tiempo en hora local y devuelve un valor de punto flotante con el instante expresado en segundos desde la época. |
8 | tiempo.dormir(segundos) Suspende el hilo de llamada durante segundos. |
9 | tiempo.strftime(fmt[,tupletime]) Acepta un instante expresado como una tupla de tiempo en hora local y devuelve una cadena que representa el instante especificado por la cadena fmt. |
10 | tiempo.strptime(str,fmt='%a %b %d %H:%M:%S %Y') Analiza str de acuerdo con el formato de cadena fmt y devuelve el instante en formato de tupla de tiempo. |
11 | tiempo.tiempo( ) Devuelve el instante de tiempo actual, un número de segundos en punto flotante desde la época. |
12 | tiempo.tzset() Restablece las reglas de conversión de tiempo utilizadas por las rutinas de la biblioteca. La variable de entorno TZ especifica cómo se hace esto. |
Repasemos las funciones brevemente −
Hay dos atributos importantes disponibles con el módulo de tiempo −
Sr.No. | Atributo con Descripción |
---|---|
1 | hora.zonahoraria El atributo time.timezone es el desplazamiento en segundos de la zona horaria local (sin horario de verano) de UTC (>0 en América; <=0 en la mayor parte de Europa, Asia, África). |
2 | hora.tzname El atributo time.tzname es un par de cadenas que dependen de la configuración regional, que son los nombres de la zona horaria local sin y con horario de verano, respectivamente. |
El calendario Módulo
El módulo de calendario proporciona funciones relacionadas con el calendario, incluidas funciones para imprimir un calendario de texto para un mes o año determinado.
Por defecto, el calendario toma el lunes como el primer día de la semana y el domingo como el último. Para cambiar esto, llame a la función calendar.setfirstweekday().
Aquí hay una lista de funciones disponibles con el calendario módulo −
Sr.No. | Función con descripción |
---|---|
1 | calendario.calendario(año,w=2,l=1,c=6) Devuelve una cadena de varias líneas con un calendario por año formateado en tres columnas separadas por c espacios. w es el ancho en caracteres de cada fecha; cada línea tiene una longitud de 21*w+18+2*c. l es el número de líneas para cada semana. |
2 | calendario.primerdíasemana( ) Devuelve la configuración actual para el día de la semana que comienza cada semana. De forma predeterminada, cuando se importa el calendario por primera vez, es 0, lo que significa lunes. |
3 | calendario.isleap(año) Devuelve True si el año es un año bisiesto; de lo contrario, Falso. |
4 | calendario.días bisiestos(y1,y2) Devuelve el número total de días bisiestos en los años dentro del rango (y1,y2). |
5 | calendario.mes(año,mes,w=2,l=1) Devuelve una cadena de varias líneas con un calendario para el mes del año del año, una línea por semana más dos líneas de encabezado. w es el ancho en caracteres de cada fecha; cada línea tiene una longitud de 7*w+6. l es el número de líneas para cada semana. |
6 | calendar.monthcalendar(año,mes) Devuelve una lista de listas de enteros. Cada sublista denota una semana. Los días fuera del mes del mes del año se establecen en 0; los días dentro del mes se establecen en su día del mes, 1 en adelante. |
7 | calendar.monthrange(año,mes) Devuelve dos enteros. El primero es el código del día de la semana para el primer día del mes mes en año año; el segundo es el número de días en el mes. Los códigos de día de la semana son 0 (lunes) a 6 (domingo); los números de los meses son del 1 al 12. |
8 | calendario.prcal(año,w=2,l=1,c=6) Como imprimir calendario.calendario(año,w,l,c). |
9 | calendario.prmes(año,mes,w=2,l=1) Me gusta imprimir calendario.mes(año,mes,w,l). |
10 | calendar.setfirstweekday(día de la semana) Establece el primer día de cada semana en el código de día de la semana. Los códigos de día de la semana son 0 (lunes) a 6 (domingo). |
11 | calendario.timegm(tupletime) El inverso de time.gmtime:acepta un instante de tiempo en forma de tupla de tiempo y devuelve el mismo instante como un número de segundos de punto flotante desde la época. |
12 | calendario.día de la semana(año,mes,día) Devuelve el código de día de la semana para la fecha dada. Los códigos de día de la semana son 0 (lunes) a 6 (domingo); los números de los meses son del 1 (enero) al 12 (diciembre). |
Otros módulos y funciones
Si está interesado, aquí encontrará una lista de otros módulos y funciones importantes para jugar con la fecha y la hora en Python −
-
La fechahora Módulo
-
El pytz Módulo
-
La utilidad de fecha Módulo
python
- Tipos de datos de Python
- Operadores de Python
- Declaración de paso de Python
- Argumentos de la función de Python
- Diccionario de Python
- Fecha y hora de Python
- ¿Cómo obtener la fecha y hora actuales en Python?
- Python Obtener la hora actual
- Módulo de tiempo de Python
- Sueño de Python ()
- Java - Fecha y hora