précédant
| suivant
| a propos
| sommaire
sous-programme
FrDate4Now
Donne l'heure et la date en français pour l'instant présent sous le formatage que vous désirez par $mod_affichage.
par défaut:
$mod_affichage => Mercredi 12/12/2003 18:45
mais peut sortir la date sous forme 200312121845 (pour inclure dans le nom d'un fichier)
ou verbeux comme:
Mercredi 12 Décembre 2003 à 18heure 45min
il est trés pratique car appelé par n'importe quel script en 1 ligne:
$fdt = do ('FrDate4Now.pl');
#package FrDate4Now;
=head1 NOM
FrDate4Now - donne l heure et la date en français
=head1 SYNTHAXE
use FrDate;
$fdt = fdtn($mod_affichage); # donne la date actuelle comme Mercredi 11/12/2003 18:45 ou Mercredi 11 Decembre 2003 à 18h 45min ou 11/12/2003 ou 20031211184503
use FrDate;
$frd = ffdt($file, $opd, $modep); # done la date suivant ($opd:dernier access, modif,chang) du fichier en francais au format suivant ($modep: Mercredi 11/12/2003 18:45 ou 20031211 ou 20031211184503).
=head1 DESCRIPTION
La variable scalaire retourné par le module sera une date en français
formater selon votre besoin pour:
B<l'heure actuelle (maintenant)> avec:
$dtn = fdtn($mod_affichage) ou $mod_af un nombre de 0 à 2 affichant
pour 0 la date comme: Mercredi 11/12/2003 18:45 (par defaut)
pour 1 la date comme: Mercredi 11 Decembre 2003 (pour la Secla)
pour 2 la date comme: Mercredi 11 Decembre 2003 17heure 45min (long Secla)
pour 3 la date comme: 20031211 (pour liste et filename)
pour 4 la date comme: 20031211184503 (pareil avec h, min et sec)
=cut
# constantes
@lsjour = qw(
Dimanche
Lundi
Mardi
Mercredi
Jeudi
Vendredi
Samedi
);
for $i(0 ..6) {
$fj{$i} = $lsjour[$i];
}
@lsmois = qw(
Janvier
Février
Mars
Avril
Mai
Juin
Juillet
Aout
Septembre
Octobre
Novembre
Décembre
);
for $i(0..11) {
$fm{$i} = $lsmois[$i];
}
&fdtn($mod_affichage);
# ici la fonction fdtn($mod_affichage)
sub fdtn($mod_affichage) {
my ($mod_affichage) = @_;
$min =(localtime(time()))[1];
$h =(localtime(time()))[2];
$mois =(localtime(time()))[4];
$smois = $fm{$mois};
$an =(localtime(time()))[5];
$sjour =(localtime(time()))[6];
$fjour = $fj{$sjour};
$datos = localtime (time);
@lstnow = localtime (time());
$j = $lstnow[3];
$m = $lstnow[4]+1;
if ($min <= 9) {
$min = "0" . $min;
}
if ($h <= 9) {
$h= "0" . $h;
}
if ($j <= 9) {
$j= "0" . $j;
}
if ($m <= 9) {
$m = "0" . $m;
}
if ($an >= 100) {
$an=~ s/1()/20/;
}
else {
$an= "1" . $an;
}
# les format d'heures dessous fonctionne en centieme et milleme de journée
# les intégrer au module si le besoin est décommenter la région jusqu'a ***
# # pour centieme de journée exp: 25 = 25% de journée ou 25 quart d'heures (99 = 1440min = 24h)
# $tmp_h2m = ($h * 60) + $min;
# # ---- pour $qdh (quantité de jour exprimé de 01~99) ------
# $qdh = int ($tmp_h2m/14.5); # pour avoir le centieme de journée sur 2chiffres de 01 à 99
# if ($qdh <= 9) {
# $qdh = "0" . "$qdh";
# }
# # ---------- pour $qdh (quantité de jour exprimé de 01~99) ------- uncomment
# if ($qdh <= 9) {
# $qdh = "0" . "$qdh";
# }
# ---------------------------------------- ***
# ---------- pour $qdm (quantité de jour exprimé de 001~999)------
$qdm = int ($tmp_h2m/1.44); # pour avoir le milliéme de journée sur 3chiffres de 1 à 999
if ($qdm <= 9) {
$qdm = "00" . "$qdm";
}
elsif ($qdm <= 99) {
$qdm = "0" . "$qdm";
}
#---------les differants formats
# Mercredi 30/07/2003 17:30
$ma_date_v = "$fjour $j\/" . "$m\/" . "$an" . ":" . "$h" . ":$min";
# Mercredi 30 Juillet 2003
$df_long = "$fjour $j $smois $an";
# Mercredi 30 Juillet 2003 à 17heure 30min
$df_vlong = "$fjour $j $smois $an à $h" . "heure $min" . "min";
#20030730
$dtc = "$an" . "$m" . "$j";
# 20030730:72
$ma_date = "$an" . "$m" . "$j" . ":" . "$qdh";
# 20030730:726
$ma_date_h = "$an" . "$m" . "$j" . ":" . "$qdm";
$dt = $ma_date_v;
if ($mod_affichage == 1) {
$fdt = $df_long;
#return $fdt;
}
elsif ($mod_affichage == 2) {
$fdt = $df_vlong;
# return $fdt;
}
elsif ($mod_affichage == 3) {
$fdt = $dtc;
# return $fdt;
}
elsif ($mod_affichage == 4) {
$fdt = $ma_date_h;
# return $fdt;
}
else {
$fdt = $ma_date_v;
# return $fdt;
}
}
# écrit par alain Adelmar aadelmar@free.fr
# publié sur http://aadelmar.free.fr/FrDate4Now.html
# adresse: 6 rue de Tunis 33600 Pessac
END;
END;
précédant
| suivant
| a propos
| sommaire
sous programme Perl appelé appelé du script par:
$dtf = do ('FrDate4Now.pl');
en ayant au préalable défini $mod_affichage qui par défaut sont = 0; (lire la doc)
écrit par alain Adelmar le 13 Décembre 2003