gmtime
Converte l'ora restituita dalla funzione time in una lista di 9 elementi,
con l'ora localizzata al fuso orario locale. è tipicamente usato
come segue:
# 0 1 2 3 4 5 6 7 8
($sec,$min,$ore,$giom,$mese,$anno,$gios,$gioa,$oraleg) =
gmtime(time);
Tutti gli elementi della lista sono numerici, e derivano direttamente dalla
'struct tm' del C. $sec, $min e $ore sono i secondi, i minuti e le ore
dell'orario specificato. $giom è il giorno del mese, e $mese è
il mese stesso, nell'intervallo 0..11, in cui 0 indica Gennaio e 11 Dicembre.
$anno è il numero di anni a partire dal 1900. Ciò significa che
$anno è 123 nel 2023. $gios è il giorno della settimana, con 0
che indica Domenica e 3 Mercoledì. $gioa è il giorno dell'anno,
nell'intervallo 0..364 (o <0..365> negli anni bisestili). $isdst
è sempre 0.
Va notato che l'elemento $anno non contiene semplicemente le ultime due cifre
dell'anno. Se assumete ciò, allora vi ritrovate a creare programmi non
compatibili con l'anno 2000 (Y2K), e questo non volete farlo, vero?
Il modo corretto per ottenere un anno a 4 cifre è semplicemente:
$anno += 1900;
E per ottenere le ultime due cifre dell'anno (ad esempio '01' nel 2001) potete scrivere:
$anno = sprintf("%02d", $anno % 100);
Se ESPR viene omessa, gmtime() usa l'ora correte (gmtime(time)).
In contesto scalare, gmtime() restituisce il valore di ctime(3):
$stringa_diadesso = gmtime; # es. "Thu Oct 13 04:54:34 1994"
Se vi serve il tempo locale invece del GMT, usate la funzione localtime che è
integrata in Perl.
Consultate anche la funzione timegm fornita dal modulo Time::Local,
e le funzioni strftime(3) e mktime(3) disponibili attraverso il modulo POSIX.
Questo valore scalare non dipende dal locale (consultate perllocale),
ma è interno a Perl. Per ottenere stringhe di data simili, ma dipendenti dal locale,
consultate gli esempi in localtime.
Si consulti perlport/gmtime per ciò che concerne la portabilità.