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. |