2010-11-23 5 views
0

Im "Nov 23 10 : 42 : 31.808381"과 같은 날짜 문자열과 "% b % d ...."와 같은 형식을 사용하는 Perl 모듈을 찾고 있습니다. this 및 dateTime 객체를 가져 오거나 동일한 방식으로 지정된 다른 형식으로 인쇄하십시오. Time :: 조각에는 나노초까지 해상도가 없습니다. 나를 도울 수있는 모듈이 있습니까? 임 사용하여 펄 5.8 (이 나던의 이름 한 역 참조)perl의 구문 분석 dateTime이 마이크로/나노 초 정확합니다

답변

2

DateTime::Format::Strptime은 마이크로 초 및 나노초를 지원합니다.

형식이 1 년을 포함하지 않기 때문에 약간 이상합니다. 이 데모 코드 작업을 하나 추가했습니다.

#!/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

"11월 23일 10 : 42 : 31.808381는"- 마이크로하지 나노초

당신이 마이크로 필요하면, 당신은 시간 ::시 HiRes를 사용해야입니다; 모듈과 그것에 gettimeofday 메소드.

+0

현재 현재는 마이크로 초이지만 nano 초도 필요합니다. – balki

+1

perl은 마이크로 초 해상도의 경우조차도 빠르지 않습니다. 이해가 안 돼 왜 나노초가 필요한거야. – CyberDem0n

+0

예 : perl -e '시간 사용 :: HiRes qw/nanosleep gettimeofday /; $ a = gettimeofday(); nanosleep (1); $ b = gettimeofday(); print $ b- $ a; ' 6.19888305664062e-05 – CyberDem0n