Étant donné une chaîne qui représente une date/heure au format ISO8601 (par exemple, 20100723T073000
), je dois finalement analyser ceci dans un format fourni par l'utilisateur en utilisant une chaîne de format général strftime
. Pour ce faire, je dois convertir l'horodatage ISO8601 en un horodatage Unix. Il y a énormément de modules de manipulation de date/heure pour Perl et je suis un peu débordé. Des suggestions sur la façon de faire cela?Comment convertir un horodatage ISO8601 en heure unix en Perl?
7
A
Répondre
13
Le module champion pour gérer les dates, heures, durées, fuseaux horaires et formats est DateTime. Une fois que vous avez votre objet DateTime, vous pouvez effectuer un grand nombre d'opérations, comme ajouter/soustraire d'autres objets DateTime ou des objets DateTime::Duration, ou l'imprimer dans un autre format.
use strict; use warnings;
use DateTime;
use DateTime::Format::ISO8601;
my $dt = DateTime::Format::ISO8601->parse_datetime('20100723T073000');
print $dt->strftime('%F %T');
impressions: « 2010-07-23 07:30:00 »
4
Si vous n'avez pas ou ne voulez pas installer le module DateTime::Format::ISO8601
, vous pouvez analyser au moins un sous-ensemble ISO8601 avec HTTP::Date
:
$ perl -MHTTP::Date -wle 'print str2time("2013-11-30T23:05:03")'
1385845503
Comme toute manipulation date, soyez prudent sur le temps des problèmes de la zone.
Questions connexes
- 1. Comment convertir un horodatage unix en horodatage ISO8601 en PHP?
- 2. Comment convertir l'heure locale en horodatage unix en Perl?
- 3. Comment convertir un horodatage GMT en horodatage Unix (javascript)
- 4. Comment convertir un horodatage log4j en millisecondes en Perl?
- 5. Convertir une chaîne de date en un horodatage Unix
- 6. Convertir en horodatage UTC
- 7. iPhone: Conversion d'un horodatage Oracle en NSDate ou en un horodatage Unix (par exemple en double)
- 8. MySQL - Convertir MM/DD/YY en horodatage Unix
- 9. horodatage Unix à la conversion de date heure XML
- 10. Comment spécifier le fuseau horaire (UTC) lors de la conversion en heure Unix? (Python)
- 11. Obtention d'un horodatage unix en tant que chaîne en C++
- 12. Convertir un pubDate en un horodatage
- 13. Convertir UTC en Unix Timestamp
- 14. parse horodatage avec milliseconde en Perl
- 15. Convertir un horodatage UNIX en "Aujourd'hui à: currentTime" en utilisant Java
- 16. MySQL: comment convertir un datetime en unix?
- 17. Comment convertir un COledatetime en unix time/php time?
- 18. horodatage Convertir/date heure UTC à Oracle SQL EST
- 19. Comment formater un horodatage Unix dans Delphi?
- 20. Comment convertir un horodatage mySQL en RFC-822 à l'aide de Perl?
- 21. Fonction php pour convertir un horodatage Unix en minutes ou heures ou jours comme digg?
- 22. Convertir un horodatage Unix au format humain en Django avec Python
- 23. PostgreSQL: horodatage SQL à l'horodatage Unix en utilisant libpq
- 24. PHP: Comment convertir un horodatage de serveur en fuseau horaire?
- 25. Comment convertir un horodatage en chaîne dans Liquid?
- 26. PHP Convertir un temps Unix en ISO et soustraire une heure
- 27. Aide avec un horodatage MySQL Unix Requête
- 28. Comment convertir DATE UNIX TIMESTAMP en script shell sur MacOS
- 29. Convertir "minutes depuis minuit" en heure (convertir en NSDate?)
- 30. Comment convertir un tableau en hash en Perl?