Dans le langage de programmation Perl, il ya une fonction intégrée time()
.
Cette fonction renvoie un nombre entier — le nombre de secondes
le début de l'époque. Presque tous les systèmes actuels
le début d'une ère est un zéro, zéro minute, zéro heures, le premier janvier 1970
dans le fuseau horaire UTC (1970-01-01T00:00:00Z
). Ce nombre est encore souvent appelé timestamp
.
Voici un exemple d'utilisation de cette fonction:
Au moment de la rédaction de cet article, le programme a lancé le nombre de 1577113985
, ce qui correspond à la date
2019-12-23T15:13:05Z
.
La fonction time()
n'accepte pas les arguments. Si vous essayez de lui transmettre l'argument, ce serait une erreur:
syntax error at script.pl line 3, near "(8"
Execution of script.pl aborted due to compilation errors.
La fonction time()
(elle CORE::time()
) renvoie le nombre d'entiers secondes
depuis le début de l'époque. Si la précision à la seconde, n'est pas suffisant, vous pouvez utiliser
la fonction de Time::HiRes::time()
, qui renvoie un float nombre de secondes
depuis le début de l'époque.
Programme d'exemple qui montre l'utilisation de ces deux fonctions:
▶ Run
use feature qw(say);
use Time::HiRes;
say time();
say Time::HiRes::time();
1577116390
1577116390.36876
Voici la sortie de la commande perldoc -f time
:
time Returns the number of non-leap seconds since whatever time the
system considers to be the epoch, suitable for feeding to
"gmtime" and "localtime". On most systems the epoch is
00:00:00 UTC, January 1, 1970; a prominent exception being Mac
OS Classic which uses 00:00:00, January 1, 1904 in the current
local time zone for its epoch.
For measuring time in better granularity than one second, use
the Time::HiRes module from Perl 5.8 onwards (or from CPAN
before then), or, if you have gettimeofday(2), you may be able
to use the "syscall" interface of Perl. See perlfaq8 for
details.
For date and time processing look at the many related modules
on CPAN. For a comprehensive date and time representation look
at the DateTime module.