我正在寻找一个perl模块,它采用像这样的日期字符串“Nov 23 10:42:31.808381”,其格式类似于“%b%d ....”这个并给我一个dateTime对象/或打印它以相同的方式指定为另一种格式。时间::片段的分辨率不超过纳秒。有什么模块可以帮助我吗? 我使用perl 5.8(这没有命名反向引用)
答案 0 :(得分:3)
DateTime::Format::Strptime支持微秒和纳秒。
您的格式有点奇怪,因为它不包含一年。我添加了一个你使这个演示代码工作。
#!/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;
答案 1 :(得分:0)
“Nov 23 10:42:31.808381” - 是微秒,而不是纳秒
如果你需要微秒,你必须使用Time :: HiRes;模块和gettimeofday方法。