[Perl] Questions DateTime et locale
Philippe Delavalade
philippe.delavalade at orange.fr
Mar 22 Mar 09:29:47 CET 2022
Bonjour la liste.
J'ai de petits soucis avec un programme ; les questions sont sûrement
simplistes mais avec le braille (je suis aveugle) la recherche dans la doc
n'est pas simple, donc désolé de poser ici...
Voici le code simplifié ; dans le programme réel, l'appell au tableau se
justifie car j'ai beaucoup de dates.
:begin code
#!/usr/bin/perl -w
use Modern::Perl;
use DateTime;
use DateTime::Format::Natural;
# les lignes suivantes semblent sans effet pour mes soucis
use DateTime::Locale;
use utf8;
my $parser = DateTime::Format::Natural->new;
my @dates;
push(@dates,$parser->parse_datetime( "25/02/2022" ));
push(@dates,$parser->parse_datetime( "15/08/2022" ));
my $une_date = $parser->parse_datetime( "01/12/2021" );
# Est-ce la bonne façon de créer cette nouvelle date ?
my $une_autre = $une_date->clone()->add( days => 43 );
push(@dates,$une_date);
push(@dates,$une_autre);
@dates = sort @dates;
foreach my $jour (@dates) {
$jour->set_locale("fr-FR");
# La ligne précédente n'est pas maligne.
# Cela dit, je n'ai pas de solution globale ;
# je ne m'en tire pas avec DateTime::Locale->load
# que je ne sais pas utiliser
say $jour->day_name." ".$jour->day." ".$jour->month_name." ".$jour->year;
}
exit(0);
:end code
Voici la sortie qui ne convient pas à cause des accents :
:begin sortie
mercredi 1 décembre 2021
jeudi 13 janvier 2022
vendredi 25 février 2022
lundi 15 août 2022
:end sortie
Merci de vos conseils éclairés.
--
Philippe
Plus d'informations sur la liste de diffusion Perl