AWK - Funzioni del tempo

AWK ha le seguenti funzioni temporali integrate:

systime

Questa funzione restituisce l'ora corrente del giorno come numero di secondi trascorsi dall'Epoch (1970-01-01 00:00:00 UTC sui sistemi POSIX).

Esempio

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

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

Number of seconds since the Epoch = 1418574432

mktime (datepec)

Questa funzione converte datespecstring in un timestamp della stessa forma restituita da systime (). Datepec è una stringa del moduloYYYY MM DD HH MM SS.

Esempio

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

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

Number of seconds since the Epoch = 1418604610

strftime ([format [, timestamp [, utc-flag]]])

Questa funzione formatta i timestamp in base alla specifica in format.

Esempio

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

Eseguendo questo codice, ottieni il seguente risultato:

Produzione

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

I seguenti formati di ora sono supportati da AWK:

S.No. Specifica e descrizione del formato della data
1

%a

Il nome del giorno della settimana abbreviato della locale.

2

%A

Il nome completo del giorno della settimana.

3

%b

Il nome del mese abbreviato della locale.

4

%B

Il nome completo del mese della locale.

5

%c

La rappresentazione della data e dell'ora appropriata della locale. (Questo è% A% B% d% T% Y nella lingua C).

6

%C

La parte centenaria dell'anno in corso. Questo è l'anno diviso per 100 e troncato al numero intero inferiore successivo.

7

%d

Il giorno del mese come numero decimale (01–31).

8

%D

Equivale a specificare% m /% d /% y.

9

%e

Il giorno del mese, riempito con uno spazio se è solo una cifra.

10

%F

Equivale a specificare% Y-% m-% d. Questo è il formato della data ISO 8601.

11

%g

L'anno modulo 100 del numero della settimana ISO 8601, come numero decimale (00–99). Ad esempio, il 1 ° gennaio 1993 è nella settimana 53 del 1992. Pertanto, l'anno del suo numero di settimana ISO 8601 è il 1992, anche se il suo anno è 1993. Allo stesso modo, il 31 dicembre 1973 è nella settimana 1 del 1974. Pertanto, il l'anno della sua settimana ISO è il 1974, anche se l'anno è il 1973.

12

%G

L'anno completo del numero della settimana ISO, come numero decimale.

13

%h

Equivalente a% b.

14

%H

L'ora (formato a 24 ore) come numero decimale (00–23).

15

%I

L'ora (orologio a 12 ore) come numero decimale (01–12).

16

%j

Il giorno dell'anno come numero decimale (001–366).

17

%m

Il mese come numero decimale (01–12).

18

%M

I minuti come numero decimale (00–59).

19

%n

Un carattere di nuova riga (ASCII LF).

20

%p

L'equivalente della locale delle designazioni AM / PM associate a un orologio a 12 ore.

21

%r

Le 12 ore dell'orologio locale. (Questo è% I:% M:% S% p nella lingua C).

22

%R

Equivalente a specificare% H:% M.

23

%S

Il secondo come numero decimale (00-60).

24

%t

Un carattere TAB.

25

%T

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

26

%u

Il giorno della settimana come numero decimale (1–7). Il lunedì è il primo giorno.

27

%U

Il numero della settimana dell'anno (la prima domenica come primo giorno della prima settimana) come numero decimale (00–53).

28

%V

Il numero della settimana dell'anno (il primo lunedì come primo giorno della prima settimana) come numero decimale (01–53).

29

%w

Il giorno della settimana come numero decimale (0–6). La domenica è il giorno zero.

30

%W

Il numero della settimana dell'anno (il primo lunedì come primo giorno della prima settimana) come numero decimale (00–53).

31

%x

La rappresentazione della data appropriata della locale. (Questo è% A% B% d% Y nella lingua C).

32

%X

La rappresentazione dell'ora appropriata della località. (Questo è% T nella lingua C).

33

%y

L'anno modulo 100 come numero decimale (00–99).

34

%Y

L'intero anno come numero decimale (ad es. 2011).

35

%z

L'offset del fuso orario in un formato + HHMM (ad esempio, il formato necessario per produrre le intestazioni della data RFC 822 / RFC 1036).

36

%Z

Il nome o l'abbreviazione del fuso orario; nessun carattere se nessun fuso orario è determinabile.