[13] Come ottengo il secolo oppure il millennio correnti?
Usate le seguenti semplici funzioni:
sub secolo {
return int((((localtime(shift || time))[5] + 1999))/100);
}
sub millennio {
return 1+int((((localtime(shift || time))[5] + 1899))/1000);
}
Potete anche utilizzare la funzione di POSIX strftime() che può essere
un po' lenta ma che è facile da leggere e da manutenere.
use POSIX qw/strftime/;
my $settimana_dell_anno = strftime "%W", localtime;
my $giorno_dell_anno = strftime "%j", localtime;
Su alcuni sistemi, si noterà che la funzione strftime() del modulo
POSIX è stata estesa in maniera non standard per usare il formato
%C, che a volte viene indicato come "secolo". Non lo è,
poiché sulla maggior parte di quei sistemi, esso rappresenta solo
le prime due cifre dell'anno a quattro cifre, e quindi non può
essere utilizzato per determinare in maniera affidabile il secolo oppure
il millennio correnti.
Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan
Torkington. Tutti i diritti riservati.
Questa documentazione è libera; puoi ridistribuirla e/o
modificarla secondo gli stessi termini applicati al Perl.
Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di
codice in questo file sono rilasciati al pubblico dominio. Potete, e
siete incoraggiati a farlo, utilizzare il presente codice o qualunque
forma derivata da esso nei vostri programmi per divertimento o per profitto.
Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese
ma non è obbligatorio.
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per
porre quesiti di tipo tecnico, per rimanere aggiornato su meeting,
incontri, manifestazioni e novità su Perl.it. Iscriviti!