AWK - Funciones de tiempo

AWK tiene las siguientes funciones de tiempo integradas:

systime

Esta función devuelve la hora actual del día como el número de segundos desde Epoch (1970-01-01 00:00:00 UTC en sistemas POSIX).

Ejemplo

[jerry]$ awk 'BEGIN {
   print "Number of seconds since the Epoch = " systime()
}'

Al ejecutar este código, obtiene el siguiente resultado:

Salida

Number of seconds since the Epoch = 1418574432

mktime (datepec)

Esta función convierte datespeccadena en una marca de tiempo de la misma forma que devuelve systime (). La especificación de fecha es una cadena de la formaYYYY MM DD HH MM SS.

Ejemplo

[jerry]$ awk 'BEGIN {
   print "Number of seconds since the Epoch = " mktime("2014 12 14 30 20 10")
}'

Al ejecutar este código, obtiene el siguiente resultado:

Salida

Number of seconds since the Epoch = 1418604610

strftime ([formato [, marca de tiempo [, bandera-utc]]])

Esta función formatea las marcas de tiempo de acuerdo con la especificación en formato.

Ejemplo

[jerry]$ awk 'BEGIN {
   print strftime("Time = %m/%d/%Y %H:%M:%S", systime())
}'

Al ejecutar este código, obtiene el siguiente resultado:

Salida

Time = 12/14/2014 22:08:42

AWK admite los siguientes formatos de hora:

S.No. Especificación y descripción del formato de fecha
1

%a

El nombre abreviado del día de la semana de la configuración regional.

2

%A

El nombre completo del día de la semana de la configuración regional.

3

%b

El nombre del mes abreviado de la configuración regional.

4

%B

El nombre completo del mes de la configuración regional.

5

%c

La representación de fecha y hora adecuada de la configuración regional. (Esto es% A% B% d% T% Y en la configuración regional C).

6

%C

La parte del siglo del año actual. Este es el año dividido por 100 y truncado al siguiente entero inferior.

7

%d

El día del mes como número decimal (01–31).

8

%D

Equivalente a especificar% m /% d /% y.

9

%e

El día del mes, relleno con un espacio si es solo un dígito.

10

%F

Equivalente a especificar% Y-% m-% d. Este es el formato de fecha ISO 8601.

11

%g

El año módulo 100 del número de semana ISO 8601, como número decimal (00–99). Por ejemplo, el 1 de enero de 1993 corresponde a la semana 53 de 1992. Por lo tanto, el año de su número de semana ISO 8601 es 1992, aunque su año es 1993. De manera similar, el 31 de diciembre de 1973 corresponde a la semana 1 de 1974. Por lo tanto, el El año de su número de semana ISO es 1974, aunque su año es 1973.

12

%G

El año completo del número de semana ISO, como un número decimal.

13

%h

Equivalente a% b.

14

%H

La hora (reloj de 24 horas) como número decimal (00-23).

15

%I

La hora (reloj de 12 horas) como un número decimal (01–12).

dieciséis

%j

El día del año como número decimal (001–366).

17

%m

El mes como número decimal (01–12).

18

%M

El minuto como número decimal (00–59).

19

%n

Un carácter de nueva línea (ASCII LF).

20

%p

El equivalente de la configuración regional de las designaciones AM / PM asociadas con un reloj de 12 horas.

21

%r

El reloj de 12 horas de la localidad. (Esto es% I:% M:% S% p en la configuración regional C).

22

%R

Equivalente a especificar% H:% M.

23

%S

El segundo como un número decimal (00–60).

24

%t

Un personaje TAB.

25

%T

Equivalente a especificar% H:% M:% S.

26

%u

El día de la semana como número decimal (1–7). El lunes es el primer día.

27

%U

El número de semana del año (el primer domingo como primer día de la semana uno) como número decimal (00–53).

28

%V

El número de semana del año (el primer lunes como primer día de la semana uno) como número decimal (01–53).

29

%w

El día de la semana como número decimal (0–6). El domingo es el día cero.

30

%W

El número de semana del año (el primer lunes como primer día de la semana uno) como número decimal (00–53).

31

%x

Representación de fecha apropiada de la configuración regional. (Esto es% A% B% d% Y en la configuración regional C).

32

%X

Representación de tiempo apropiada de la localidad. (Esto es% T en la configuración regional de C).

33

%y

El año módulo 100 como número decimal (00–99).

34

%Y

El año completo como número decimal (por ejemplo, 2011).

35

%z

El desplazamiento de la zona horaria en un formato + HHMM (por ejemplo, el formato necesario para producir encabezados de fecha RFC 822 / RFC 1036).

36

%Z

El nombre o la abreviatura de la zona horaria; sin caracteres si no se puede determinar ninguna zona horaria.