1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| # ---------------------------------------------------------------------------
# FONCTION DonneDate($)
# DATE 03/12/2001
# RECOIT rien ou un format d'affichage, exemples :
# - 03/12/01 -> JJMMAA
# - 03/12/2001 -> JJMMAAAA
# - 3 déc 2001 -> JJMMMAAAA
# - 3 décembre 2001 -> JJMMMMAAAA
# - 20011203 -> AAAAMMJJ
# RENVOI la date selon le format souhaité.
# FAIT renvoie la date selon le format demandé. utilise AAAAMMJJ comme format
# par défaut.
# ---------------------------------------------------------------------------
sub DonneDate
{
my $Format;
$Format = ($_[0] ? $_[0] : "AAAAMMJJ");
my ($Sec,$Min,$Heure,$Mjour,$Mois,$Annee,$Sjour,$Ajour,$Isdst) = localtime(time);
$Annee += 1900;
$Mois += 1;
$Mois = 1 if ($Mois == 13);
if ($Format eq "JJMMMAAAA")
{
my @MoisCourt = qw(jan fév mar avr mai juin juil août sept oct nov déc);
return $Mjour . ' ' . $MoisCourt[$Mois-1] . ' ' . $Annee;
}
elsif ($Format eq "JJMMMMAAAA")
{
my @MoisLong = qw(janvier février mars avril mai juin juillet août septembre octobre novembre décembre);
return $Mjour . ' ' . $MoisLong[$Mois-1] . ' ' . $Annee;
}
else # on ne traite que du format numérique ici
{
$Mois = '0' . $Mois if ($Mois < 10);
$Mjour = '0' . $Mjour if ($Mjour < 10);
if ($Format eq "JJMMAA")
{
if ($Annee =~ /(\d{2})(\d{2})/)
{
return $Mjour . '/' . $Mois . '/' . $2;
}
else
{
return $Mjour . '/' . $Mois . '/' . $Annee;
}
}
elsif ($Format eq "JJMMAAAA")
{
return $Mjour . '/' . $Mois . '/' . $Annee;
}
else
{
return "$Annee$Mois$Mjour";
}
}
} |
Partager