Mise en forme localtime() dans le script perl
Vous vous demandez comment mettre en forme la sortie de localtime() de année/mois/jour
J'ai été en mesure de le faire facilement à l'aide de la "date" de commande depuis le terminal, mais j'ai besoin de calculer les dates antérieures ainsi que j'ai compris comment le faire en perl.
foreach my $i (0..7)
{
my $date = localtime(time() - 60*60*24*$i);
print "$i day(s) ago: $date\n";
}
Imprime ce :
0 day(s) ago: Tue Apr 3 12:01:13 2012
1 day(s) ago: Mon Apr 2 12:01:13 2012
2 day(s) ago: Sun Apr 1 12:01:13 2012
3 day(s) ago: Sat Mar 31 12:01:13 2012
4 day(s) ago: Fri Mar 30 12:01:13 2012
5 day(s) ago: Thu Mar 29 12:01:13 2012
6 day(s) ago: Wed Mar 28 12:01:13 2012
7 day(s) ago: Tue Mar 27 12:01:13 2012
OriginalL'auteur jackie | 2012-04-03
Vous devez vous connecter pour publier un commentaire.
Script:
De sortie:
Ne pas faire ce genre de date de mathématiques sur votre propre, comme expliqué dans perlfaq4. Il suffit de demander TomTom comment beaucoup de questions. 🙂
OriginalL'auteur Ωmega
Voici un exemple de
POSIX::strftime
:Je ne sais pas si c'est complètement portable, mais l'étrange valeurs sont gérées par
POSIX::mktime
etPOSIX::strftime
, passant de 5,8 à 5.14 sur Windows (Fraise et Active), UNIX et Linux) et partout où je l'ai essayé. Donc, je ne sais pas à propos d'un garantie.OriginalL'auteur Axeman
Si vous faites de la date de mathématiques, l'utilisation d'un module à droite. Par exemple, DateTime:
OriginalL'auteur brian d foy
vous pouvez utiliser POSIX::strftime de module POSIX.
perl -mPOSIX -e 'printf POSIX::strftime("%Y/%m/%d",localtime)
.OriginalL'auteur keety