AWK - Funções de Tempo

AWK tem as seguintes funções de tempo integradas -

Systime

Esta função retorna a hora atual do dia como o número de segundos desde a época (1970-01-01 00:00:00 UTC em sistemas POSIX).

Exemplo

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

Ao executar este código, você obtém o seguinte resultado -

Resultado

Number of seconds since the Epoch = 1418574432

mktime (dataspec)

Esta função converte datespecstring em um carimbo de data / hora da mesma forma que o retornado por systime (). O datepec é uma string do formulárioYYYY MM DD HH MM SS.

Exemplo

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

Ao executar este código, você obtém o seguinte resultado -

Resultado

Number of seconds since the Epoch = 1418604610

strftime ([formato [, carimbo de data / hora [, utc-flag]]])

Esta função formata carimbos de data / hora de acordo com a especificação no formato.

Exemplo

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

Ao executar este código, você obtém o seguinte resultado -

Resultado

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

Os seguintes formatos de hora são suportados pelo AWK -

S.No. Especificação e descrição do formato de data
1

%a

O nome abreviado do dia da semana do local.

2

%A

O nome completo do dia da semana do local.

3

%b

O nome abreviado do mês do local.

4

%B

O nome completo do mês do local.

5

%c

A representação de data e hora apropriada da localidade. (Este é% A% B% d% T% Y no local C.)

6

%C

A parte do século do ano atual. Este é o ano dividido por 100 e truncado para o próximo inteiro inferior.

7

%d

O dia do mês como um número decimal (01–31).

8

%D

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

9

%e

O dia do mês, preenchido com um espaço se for apenas um dígito.

10

%F

Equivalente a especificar% Y-% m-% d. Este é o formato de data ISO 8601.

11

%g

O módulo do ano 100 do número da semana ISO 8601, como um número decimal (00–99). Por exemplo, 1 de janeiro de 1993 está na semana 53 de 1992. Assim, o ano do seu número da semana ISO 8601 é 1992, embora seu ano seja 1993. Da mesma forma, 31 de dezembro de 1973 está na semana 1 de 1974. Assim, o ano de seu número da semana ISO é 1974, embora seu ano seja 1973.

12

%G

O ano completo do número da semana ISO, como um número decimal.

13

%h

Equivalente a% b.

14

%H

A hora (relógio de 24 horas) como um número decimal (00–23).

15

%I

A hora (relógio de 12 horas) como um número decimal (01–12).

16

%j

O dia do ano como um número decimal (001–366).

17

%m

O mês como um número decimal (01-12).

18

%M

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

19

%n

Um caractere de nova linha (ASCII LF).

20

%p

O equivalente da localidade das designações AM / PM associadas a um relógio de 12 horas.

21

%r

O relógio de 12 horas do local. (Este é% I:% M:% S% p na localidade C.)

22

%R

Equivalente a especificar% H:% M.

23

%S

O segundo como um número decimal (00–60).

24

%t

Um caractere TAB.

25

%T

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

26

%u

O dia da semana como um número decimal (1–7). Segunda-feira é o primeiro dia.

27

%U

O número da semana do ano (o primeiro domingo como o primeiro dia da semana um) como um número decimal (00–53).

28

%V

O número da semana do ano (a primeira segunda-feira como o primeiro dia da semana um) como um número decimal (01–53).

29

%w

O dia da semana como um número decimal (0–6). Domingo é o dia zero.

30

%W

O número da semana do ano (a primeira segunda-feira como o primeiro dia da semana um) como um número decimal (00–53).

31

%x

A representação de data apropriada da localidade. (Este é% A% B% d% Y no local C.).

32

%X

A representação de hora apropriada do local. (Este é% T no código do idioma C.).

33

%y

O módulo do ano 100 como um número decimal (00–99).

34

%Y

O ano completo como um número decimal (por exemplo, 2011).

35

%z

O deslocamento de fuso horário em um formato + HHMM (por exemplo, o formato necessário para produzir cabeçalhos de data RFC 822 / RFC 1036).

36

%Z

O nome ou abreviação do fuso horário; nenhum caractere se nenhum fuso horário for determinável.