=head1 NOM DateTime::Calendar::Pataphysical - Dates dans le calendrier pataphysique =head1 RÉSUMÉ use DateTime::Calendar::Pataphysical; $dt = DateTime::Calendar::Pataphysical->new( year => 1752, month => 10, day => 4 ); =head1 DESCRIPTION C est l'implémentation du calendrier 'pataphysique. Chaque année de ce calendrier comporte 13 mois de 29 jours. Cette régularité en fait une solution alternative séduisante au calendrier grégorien et à son irrégularité. Ce module est conçu pour être commode à utiliser en combinaison avec DateTime. La plupart de ses méthodes correspondent à une méthode du même nom dans DateTime. =head1 MÉTHODES =over 4 =item * new( ... ) Cette méthode de classe accepte des paramètres pour chaque élément de la date et de l'S C pour l'année, C pour le mois, C pour le jour. De plus, elle accepte un paramètre C. Le paramètre C est également accepté. Ce paramètre est utile uniquement pour les conversions avec les autres calendriers. Le calendrier pataphysique n'utilise pas cette valeur. =item * from_epoch( epoch => $epoch, ... ) Cette méthode de classe permet de créer un nouvel objet à partir d'une valeur I au lieu d'énumérer les composants. Comme la méthode C, elle accepte un paramètre C. =item * now( ... ) Cette méthode de classe est l'équivalent de l'appel de C avec le résultat de la fonction Perl C. =item * from_object( object => $objet, ... ) Cette méthode de classe permet de construire un nouvel objet à partir de n'importe quel objet supportant la méthode C. Tous les modules C doivent supporter cette méthode pour permettre les conversions d'un calendrier à l'autre. Cette méthode accepte un paramètre C. La partie heure de l'objet d'origine est stockée, et ne sera utilisée que si l'objet créé est lui-même converti vers un autre calendrier. Seule la partie date d'C<$objet> est utilisée pour calculer la date 'pataphysique. Le calcul se base sur la date et l'heure locales. =item * last_day_of_month( ... ) Ce constructeur accepte les mêmes arguments que la méthode C, à l'exception de C. En outre, deux paramètres sont obligatoires, C et C. =item * clone Cette méthode d'instance crée un nouvel objet, réplique de l'objet de départ. =item * year Renvoie l'année. =item * month Renvoie le mois sous forme numérique, intervalle 1..13. =item * month_name Renvoie le nom du mois courant. =item * day_of_month, day, mday Renvoie le jour du mois, sous forme numérique, intervalle 1..29. =item * day_of_week, wday, dow Renvoie le jour de la semaine sous forme numérique, dans l'intervalle 1..7, où 1 représente dimanche et 7 représente samedi. =item * day_name Renvoie le nom du jour de la semaine. =item * day_of_year, doy Renvoie le jour de l'année, sous forme numérique. =item * ymd( $separateur_optionnel ), date =item * mdy( $separateur_optionnel ) =item * dmy( $separateur_optionnel ) Ces trois méthodes renvoient une chaîne comportant l'année (S<« y »>), le mois (S<« m »>) et le jour (S<« d »>) sous forme numérique et dans l'ordre indiqué par le nom de la méthode. Les années sont sur quatre chiffres, complétées par des zéros à gauche si nécessaire. De même, les mois et les jours sont cadrés sur deux chiffres, avec un zéro à gauche si nécessaire. Par défaut, les éléments sont séparés par un tiret, mais vous pouvez adopter un autre séparateur en le transmettant comme paramètre. =item * datetime Equivalent à $dt->ymd('-') . 'EP' =item * is_leap_year Cette méthode renvoie une valeur booléenne indiquant si l'objet appartient à une année bissextile ou pas. =item * week ($week_year, $week_number) = $dt->week Renvoie les informations concernant la semaine pour l'objet date. Les valeurs sont disponibles séparément avec les méthodes C et C. =item * week_year Renvoie l'année de la semaine. Dans le calendrier 'pataphysique, cette valeur est égale à l'année de la date, étant donné qu'aucune semaine ne se trouve à cheval sur deux années. =item * week_number Renvoie le numéro de la semaine dans l'année, intervalle 1..53. Le 29 de chaque mois n'appartient à aucune semaine. La méthode renvoie donc C pour ces dates. =item * utc_rd_values Renvoie une liste composée du jour I et des secondes I. Cette méthode a essentiellement pour but de permettre à d'autres calendriers de créer une date à partir d'une date 'pataphysique. =item * utc_rd_as_seconds Renvoie la combinaison des jours UTC I et des secondes UTC I sous la forme d'un nombre de secondes. Pratique si vous devez représenter une date par un seul nombre. =item * strftime( $format, ... ) Cette méthode fournit une fonctionnalité similaire à celle de C en C. Toutefois, si elle reçoit plusieurs chaînes de format, alors elle renvoie une liste d'éléments, un pour chaque format envoyé. Cf. L pour la liste de toutes les spécifications possibles dans un format. Ce module implémente les spécifications associées aux dates, pas aux heures. Il existe une spécification S C<%*> permet d'avoir la fête du jour. =item * feast Renvoie la fête ou la célébration de la date. =item * is_imaginary Renvoie un booléen indiquant si l'objet représente une date imaginaire. =item * set( .. ) Cette méthode permet de modifier les composants d'une date ou bien sa localisation. Cette méthode accepte les mêmes paramètres que la méthode C. =item * truncate( to => ... ) Cette méthode vous permet de réinitialiser certains composants de la date à leur valeur nulle. Le paramètre C permet de préciser à quel niveau s'effectue la troncation. Il peut valoir C (année), C (mois) ou C (jour). =item * add_duration( $duration_object ) Cette méthode additionne un objet C à la date courante. Cf. la documentation de L pour plus de détaile. =item * add( DateTime::Duration->new parameters ) Cette méthode n'est rien de plus que du sucre syntaxique pour la méthode C. Elle se contente de créer un nouvel objet C avec les paramètres transmis et d'appeler ensuite la méthode C. =item * subtract_duration( $duration_object ) Avec un objet C, cette méthode appelle la méthode C et transmet le nouvel objet durée à la méthode C. =item * subtract( DateTime::Duration->new parameters ) Tout comme C, c'est simplement du sucre syntactique pour la méthode C. =item * subtract_datetime( $datetime ) Cette méthode crée un objet C représentant la différence entre les deux dates. =item * compare $cmp = DateTime->compare($dta, $dtb); @dates = sort { DateTime->compare($a, $b) } @dates; Compare deux objets dates-heures. La sémantique est compatible avec la fonction C de Perl. Les méthodes renvoient -1 si $dta < $dtb, 0 si $dta == $dtb, 1 si $dta > $dtb. Bien sûr, étant donné que les objets DateTime surchargent les opérateurs de comparaison, vous pouvez juste S @dates = sort @dates; =back =head1 BUGS =over 4 =item * Ajouter une semaine revient à ajouter sept jours dans ce module, en raison de la façon dont C est codé. Les Hunyadis ne sont pas pris en compte. =item * C et C ne fonctionnent vraisemblablement que sous Unix. =back =head1 SUPPORT Le support de ce module est assuré par la liste de diffusion C. Cf. http://lists.perl.org/ pour les détails. Si vous ne pensez pas maîtriser suffisamment la langue anglaise, faites-vous aider par l'un de vos proches ou éventuellement par le traducteur. =head1 AUTEUR Eugene van der Pijll =head1 TRADUCTION Cette traduction concerne la version 0.03 de C. La traduction a été réalisée par Jean Forget () le 2004-07-15. =head1 COPYRIGHT Copyright (c) 2003 Eugene van der Pijll pour la version originale. Tous droits réservés. Ce logiciel est un logiciel S vous pouvez le redistribuer et le modifier aux mêmes conditions que Perl lui-même. Copyright (c) 2004 Jean Forget et les Mongueurs de Perl pour la traduction française. Tous droits réservés. =head1 VOIR ÉGALEMENT La liste de distribution C L http://datetime.perl.org/ http://datetime.mongueurs.net/ =cut