=head1 NOM DateTime::Format::ICal - Analyse et met en forme des chaînes de date-heure et de durée ICal. =head1 RÉSUMÉ use DateTime::Format::ICal; my $dt = DateTime::Format::ICal->parse_datetime( '20030117T032900Z' ); my $dur = DateTime::Format::ICal->parse_duration( '+P3WT4H55S' ); # 20030117T032900Z DateTime::Format::ICal->format_datetime($dt); # +P3WT4H55S DateTime::Format::ICal->format_duration($dur); =head1 DESCRIPTION Ce module comprend les formats ICal de date-heure et de durée, ainsi qu'ils sont définis dans la RFC 2445. Il sert à analyser ces formats pour créer les objets correspondants. =head1 MÉTHODES La classe propose les méthodes suivantes. =over 4 =item * parse_datetime($string) Recevant une chaîne date-heure iCal en entrée, cette méthode renvoie un nouvel objet C. Si elle reçoit une chaîne mal formattée, la méthode est susceptible de s'arrêter en erreur. =item * parse_duration($string) Recevant une chaîne durée iCal en entrée, cette méthode renvoie un nouvel objet C. Si elle reçoit une chaîne mal formattée, la méthode est susceptible de s'arrêter en erreur. =item * format_datetime($datetime) Recevant un objet C en entrée, cette méthode renvoie une chaîne date-heure iCal. La spécification iCal exige que les dates-heures soient formattées soit comme des heures flottantes (pas de fuseau horaire), soit comme des heures UTC (avec un suffixe S<« Z »>), soit avec un identifiant de fuseau horaire au début ('TZID=America/Chicago;...'). Si cette méthode reçoit une date-heure associée à un fuseau horaire défini uniquement par son décalage horaire, l'objet C sera converti de façon interne en temps UTC avant le formattage iCal. Par exemple, ce S my $dt = DateTime->new( year => 1900, hour => 15, time_zone => '-0100' ); print $ical->format_datetime($dt); imprimera la chaîne C<"19000101T160000Z">. =item * format_duration($duration) Recevant un objet C en entrée, cette méthode renvoie une chaîne durée iCal. Le standard iCal ne permet pas de spécifier des mois ou des années dans une durée. Par conséquent, si cette méthode reçoit une durée pour laquelle C n'est pas nul, la méthode s'arrête en erreur. =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 Dave Rolsky (adresse C chez C point C. Une certaine partie de ce code provient du module C de Rich Bowen. =head1 TRADUCTION La traduction a été réalisée en fonction de la version xxx de C. Traduit le 2004-08-xx par Jean Forget (adresse sur le site C point C). =head1 COPYRIGHT Copyright (c) 2003 David Rolsky 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. Vous pouvez trouver le texte complet de la licence (en anglais) dans le fichier F inclus avec le module. 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 diffusion C http://datetime.perl.org/ http://datetime.mongueurs.net/ =cut