Ich suche ein Perl-Modul, das ein Datum brauchtString wie dieser "23. November 10: 42: 31.808381" und sein Format "% b% d ....". Hier erhalten Sie ein DateTime-Objekt / oder drucken Sie es in einem anderen Format, das auf dieselbe Weise angegeben ist. Time :: Piece hat keine Auflösung bis zu Nanosekunden. Gibt es ein Modul, das mir helfen wird? Ich benutze Perl 5.8 (dies hat keine Rückverweise genannt)
Antworten:
2 für die Antwort № 1DateTime :: Format :: Strptime hat Unterstützung für Mikrosekunden und Nanosekunden.
Ihr Format ist etwas seltsam, da es kein Jahr enthält. Ich habe hinzugefügt, dass Sie diesen Demo-Code zum Laufen bringen.
#!/usr/bin/perl
use strict;
use warnings;
use DateTime::Format::Strptime;
my $strp = DateTime::Format::Strptime->new(
pattern => "%b %d %Y %H:%M:%S.%6N",
on_error => "croak",
);
my $string = "Nov 23 2010 10:42:31.808381";
my $dt = $strp->parse_datetime($string);
print $dt->microsecond;
0 für die Antwort № 2
"23. November 10: 42: 31.808381" - ist Mikrosekunden und keine Nanosekunden
Wenn Sie Mikrosekunden benötigen, müssen Sie Time :: HiRes verwenden. Modul und Gettimeofday-Methode darin.