En este capítulo, le presentamos el procesamiento de fecha y hora en lenguaje Perl.
Hay varias funciones para manejar el tiempo en Perl:
1. función time(): devuelve el número de segundos acumulados desde el 1 de enero de 1970
2. Función localtime(): obtiene la hora de la zona horaria local
3. Función gmtime(): Obtener la hora media de Greenwich
A continuación, veamos la función localtime() , que devuelve la hora y fecha actuales sin argumentos.
Los siguientes 9 símbolos representan diferentes parámetros de fecha y hora:
seg, # segundos, 0 a 61 min, # minutos, 0 a 59 horas, # horas, 0 a 24 mdía, # días, 1 a 31 lunes, # meses, 0 a 11 años, # años, a partir de las 1900 wdía, # día de la semana , 0 -6,0 significa domingo yday, # El día del año, 0-364,365isdst # Verdadero si el horario de verano está vigente
La demostración de ejemplo es la siguiente:
El resultado de ejecución del ejemplo anterior es:
domingo 12 de junio
Si se llama directamente a localtime(), devuelve la hora de la configuración de zona horaria actual del sistema. El ejemplo es el siguiente:
El resultado de ejecución del ejemplo anterior es:
La hora y fecha son: Dom 12 Jun 11:27:31 2016
La función gmtime() es similar a localtime(), pero devuelve la hora estándar de Greenwich.
El resultado de ejecución del ejemplo anterior es:
La hora y fecha local es: domingo 12 de junio 11:32:14 2016GMT La hora y fecha es: domingo 12 de junio 03:32:14 2016
Podemos ver en el ejemplo que la hora en China es 8 horas diferente de la hora media de Greenwich.
Podemos usar los 9 elementos de tiempo de la función localtime() para generar el formato de tiempo que debe formularse. La salida formateada utiliza la función printf():
El resultado de ejecución del ejemplo anterior es:
Hora de formateo: HH:MM:SS11:35:23
Podemos obtener la época usando la función time(), que devuelve el número de segundos desde el 1 de enero de 1970. Los ejemplos son los siguientes:
El resultado de ejecución del ejemplo anterior es:
El número de segundos acumulados desde el 1 de enero de 1970 es: 1465702883
Podemos generar el formato de hora que queramos:
El resultado de ejecución del ejemplo anterior es:
Hora y fecha actuales: 2017-3-15 12:47:54 Hora y fecha de ayer: 2017-3-14 12:47:54
La función strftime() puede formatear la hora en el formato que queramos.
La siguiente tabla enumera algunos símbolos de formato. El símbolo * indica que desea confiar en la hora local:
símbolo | describir | Ejemplo |
---|---|---|
%a | Abreviatura del día de la semana (dom..sáb) * | Thu |
%A | El nombre completo del día de la semana (domingo..sábado) * | Thursday |
%b | Abreviatura de mes (enero..dic) * | Aug |
%B | El nombre completo del mes (enero..diciembre) * | August |
%c | Fecha y hora* | Thu Aug 23 14:55:02 2001 |
%C | El año se divide por 100 y se redondea ( 00-99 ) | 20 |
%d | El día del mes ( 01-31 ) | 23 |
%D | Fecha, MM/DD/YY es igual a %m/%d/%y | 08/23/01 |
%e | El día del mes, usando espacios para completar con un solo dígito ( 1-31 ) | 23 |
%F | La abreviatura de YYYY-MM-DD es similar a %Y-%m-%d | 2001-08-23 |
%g | Últimos dos dígitos del año ( 00-99 ) | 01 |
%g | Año | 2001 |
%h | Abreviatura del mes* (igual que la opción %b ) | Aug |
%H | Formato de 24 horas ( 00-23 ) | 14 |
%I | Formato de 12 horas ( 01-12 ) | 02 |
%j | Día del año ( 001-366 ) | 235 |
%m | Mes ( 01-12 ) | 08 |
%M | Minutos ( 00-59 ) | 55 |
%n | nueva línea ( 'n' ) |
|
%p | Mostrar AM o PM | PM |
%r | Hora (hh:mm:ss AM o PM), 12 horas* | 02:55:02 pm |
%R | Formato de hora HH:MM de 24 horas, equivalente a %H:%M | 14:55 |
%S | Número de segundos ( 00-61 ) | 02 |
%t | Pestaña horizontal ( 't' ) |
|
%T | Hora (formato de 24 horas) (hh:mm:ss), equivalente a %H:%M:%S | 14:55 |
%u | Formato de día de la semana ISO 8601, el lunes es 1 ( 1-7 ) | 4 |
%U | Número de semana del año, el domingo es el primer día ( 00-53 ) | 33 |
%V | ISO 8601 semana ( 00-53 ) | 34 |
%w | Día de la semana (0 representa el domingo) ( 0-6 ) | 4 |
%W | Número de semana del año, el lunes es el primer día ( 00-53 ) | 34 |
%x | Formato de fecha de visualización (dd/mm/aa) * | 08/23/01 |
%X | Mostrar formato de hora* | 14:55:02 |
%y | Año, dos dígitos ( 00-99 ) | 01 |
%Y | Año | 2001 |
%z | Desplazamiento de zona horaria entre ISO 8601 y UTC (1 minuto = 1, 1 hora = 100) | +100 |
%Z | El nombre de la zona horaria actual, como "hora estándar de China" * | CDT |
%% | % símbolo | % |
El resultado de ejecución del ejemplo anterior es:
Hora y fecha - 2016-06-12 12:15:13 Hora y fecha - 2016-06-12 04:15:13