/ / Parsing dateTime in Perl in Micro / Nano Sekunden korrigieren - Perl, Datum / Uhrzeit

Parsing dateTime in Perl korrekt auf Mikro / Nano Sekunden - Perl, Datetime

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 № 1

DateTime :: 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.