2010-06-02 5 views
2

Mon exigence est l'analyse des fichiers xml qui contient de nombreuses variétés de timestamps en fonction des paramètres régionaux dans lesquels ils sont écrits. Ils peuvent contenir des caractères Unicode en cas de paramètres régionaux chinois ou coréens. Je dois analyser ces horodatages et mettre ensuite dans un format standard quelque chose comme 2009-11-26 12:40:54 pour les mettre dans une base de données Oracle. Parfois, je ne connais même pas les paramètres régionaux et pourtant je dois analyser les horodatages.Quel module Perl peut gérer une variété de formats de date contenant des caractères Unicode?

Je suis à la recherche d'un module qui détecte automatiquement le format d'horodatage (y compris les caractères Unicode pour AM et PM dans leur langue locale) et les convertit en époque afin que je puisse le convertir comme je le souhaite.

J'ai rencontré des questions similaires dans ce forum. Quelques modules DateFormat suggérés et module Date :: Parse. La distribution perl que j'utilise est 5.10 donc Date::Manip ne vient pas en tant que module de base. Comme je suis supposé utiliser uniquement les modules de base et quelques modules CPAN (sur demande, je ne peux pas tout demander),

Je vous demande de bien vouloir me suggérer un bon module qui répond à toutes mes exigences. Merci d'avance

+0

Et si je connaissais les paramètres régionaux? Est-ce que cela simplifie le problème? – Ram

+2

Vous avez déjà accepté la réponse http://stackoverflow.com/questions/1867550#2803497. Allez-y et demandez à installer ce module CPAN, il fait exactement ce dont vous avez besoin. – daxim

+0

il ne supporte pas les horodatages coréen et japonais ... – Ram

Répondre

-1

Vous pouvez jeter un oeil à Date::Manip. Je ne sais pas si cela prend en charge les langues dont vous avez besoin, mais il existe un support UTF8. En tout cas, une fois que vous avez extrait les dates, il a une méthode UnixDate pour produire facilement dans le format que vous voulez. Résout également les fuseaux horaires.

+0

Date: Manip n'a pas été la bonne réponse depuis un nombre considérable d'années. Utilisez plutôt DateTime. –

Questions connexes