Packages / openSUSE Tumbleweed / Unspecified / perl-HTTP-Date
[Source: perl-HTTP-Date]
Package: perl-HTTP-Date (6.80.0-1.1)
[Project overview: libhttp-date-perl]
HTTP::Date - routines de conversion de dates
Ce module fournit des fonctions qui traitent les formats de date utilisés par le protocole HTTP (et quelques autres encore). Seules les deux premières fonctions, time2str() et str2time(), sont exportées par défaut.
* time2str( [$time] )
La fonction time2str() convertit un temps machine (secondes depuis l'époque) en une chaîne. Si la fonction est appelée sans argument ou avec un argument indéfini, elle utilisera l'heure actuelle.
La chaîne renvoyée est au format préféré pour le protocole HTTP. C'est un sous-ensemble de longueur fixe du format défini par RFC 1123, représenté en Universal Time (GMT). Un exemple d'horodatage dans ce format est :
Sun, 06 Nov 1994 08:49:37 GMT
* str2time( $str [, $zone] )
La fonction str2time() convertit une chaîne en temps machine. Elle renvoie 'undef' si le format de $str n'est pas reconnu, sinon ce que les fonctions de 'Time::Local' peuvent tirer du temps analysé. Les dates antérieures à l'époque du système peuvent ne pas fonctionner sur tous les systèmes d'exploitation. Les formats d'heure reconnus sont les mêmes que pour parse_date().
La fonction prend aussi un second argument optionnel qui spécifie le fuseau horaire par défaut à utiliser lors de la conversion de la date. Ce paramètre est ignoré si le fuseau est trouvé dans la chaîne de date elle-même. Si ce paramètre est absent et que le format de la chaîne de date ne contient aucune spécification de fuseau, le fuseau horaire local est assumé.
Si le fuseau n'est pas "'GMT'" ni numérique (comme "'-0800'" ou "'+0100'"), le module 'Time::Zone' doit être installé pour que la date soit reconnue.
* parse_date( $str )
Cette fonction essaiera d'analyser une chaîne de date, puis la renverra sous forme d'une liste de valeurs numériques suivie d'un spécificateur de fuseau horaire (éventuellement indéfini) ; ($year, $month, $day, $hour, $min, $sec, $tz). $year sera l'année complète à 4 chiffres, et les numéros de $month commencent à 1 (pour janvier).
En contexte scalaire, les nombres sont interpolés dans une chaîne au format "YYYY-MM-DD hh:mm:ss TZ" et renvoyés.
Si la date n'est pas reconnue, la liste vide est renvoyée ('undef' en contexte scalaire).
Comme protection contre les entrées pathologiques, les chaînes de plus de 64 caractères sont rejetées sans être analysées. La longueur est mesurée sur la chaîne telle que donnée, avant que les espaces de début ou de fin ne soient tronqués, de sorte qu'une entrée fortement remplie peut être rejetée même si sa charge utile tronquée tiendrait. Chaque format de date reconnu par ce module est bien plus court que cette limite.
La fonction est capable d'analyser les formats suivants :
"Wed, 09 Feb 1994 22:23:32 GMT" -- HTTP format
"Thu Feb 3 17:03:55 GMT 1994" -- ctime(3) format
"Thu Feb 3 00:00:00 1994", -- ANSI C asctime() format
"Tuesday, 08-Feb-94 14:15:29 GMT" -- old rfc850 HTTP format
"Tuesday, 08-Feb-1994 14:15:29 GMT" -- broken rfc850 HTTP format
"03/Feb/1994:17:03:55 -0700" -- common logfile format
"09 Feb 1994 22:23:32 GMT" -- HTTP format (no weekday)
"08-Feb-94 14:15:29 GMT" -- rfc850 format (no weekday)
"08-Feb-1994 14:15:29 GMT" -- broken rfc850 format (no weekday)
"1994-02-03 14:15:29 -0100" -- ISO 8601 format
"1994-02-03 14:15:29" -- zone is optional
"1994-02-03" -- only date
"1994-02-03T14:15:29" -- Use T as separator
"19940203T141529Z" -- ISO 8601 compact format
"19940203" -- only date
"08-Feb-94" -- old rfc850 HTTP format (no weekday, no time)
"08-Feb-1994" -- broken rfc850 HTTP format (no weekday, no time)
"09 Feb 1994" -- proposed new HTTP format (no weekday, no time)
"03/Feb/1994" -- common logfile format (no time, no offset)
"Feb 3 1994" -- Unix 'ls -l' format
"Feb 3 17:03" -- Unix 'ls -l' format
"11-15-96 03:52PM" -- Windows 'dir' format
"11-15-1996 03:52PM" -- Windows 'dir' format with four-digit year
L'analyseur ignore les espaces de début et de fin. Il permet aussi que les secondes manquent et que le mois soit numérique dans la plupart des formats.
Les dates purement numériques utilisent l'ordre jour/mois/année (la convention ISO et européenne courante), pas l'ordre américain mois/jour/année. Ainsi "3/4/2014" est analysé comme le 4 mars 2014, et une date de style américain comme "3/13/2014" renvoie undef car 13 n'est pas un mois valide. Pour analyser des dates de style américain, échangez les deux premiers champs avant d'appeler parse_date().
Si l'année manque, nous assumons que la date est la première date correspondante _avant_ le mois actuel. Si l'année n'est donnée qu'avec 2 chiffres, parse_date() sélectionnera le siècle qui rend l'année la plus proche de la date actuelle.
* time2iso( [$time] )
Comme time2str(), mais renvoie une chaîne au format "YYYY-MM-DD hh:mm:ss" représentant l'heure dans le fuseau horaire local.
* time2isoz( [$time] )
Comme time2str(), mais renvoie une chaîne au format "YYYY-MM-DD hh:mm:ssZ" représentant Universal Time.
Other Packages Related to perl-HTTP-Date:
Download perl-HTTP-Date
| Architecture | Package Size | Installed Size | Files |
|---|
| noarch | 31 KiB | 44 KiB | [list of files] |
Chemins de fichiers du paquet (9)
Paths come from the repository package-file index for the observed builds. They describe archive/package associations, not every file that will exist on a running system after maintainer scripts, alternatives, generated state, diversions, or installation choices.
- /usr/lib/perl5/vendor_perl/5.44.0/HTTP
- /usr/lib/perl5/vendor_perl/5.44.0/HTTP/Date.pm
- /usr/share/doc/packages/perl-HTTP-Date
- /usr/share/doc/packages/perl-HTTP-Date/Changes
- /usr/share/doc/packages/perl-HTTP-Date/CONTRIBUTORS
- /usr/share/doc/packages/perl-HTTP-Date/README.md
- /usr/share/licenses/perl-HTTP-Date
- /usr/share/licenses/perl-HTTP-Date/LICENSE
- /usr/share/man/man3/HTTP::Date.3pm.gz
Field source: openSUSE Tumbleweed OSS revision tumbleweed-oss-multiarch:4db10cdde3ad82c7e22be35753c9e164b4bdd30f92db4aee17a0d4c94c5f902f