2010-04-04 4 views
2

날짜를 일/월/년 형식과 일치시키고 싶습니다. 여기서 일은 두 자릿수이고 월은 두 자리이고 해는 네 자릿수입니다. 또한 유효한 날짜인지 확인하고 싶습니다. 예를 들어 윤년이 언제인지 알 수 있으며 Fedurary의 경우 30 일, 31 일, 28 일 또는 29 일 중 어느 달인지 확인할 수 있습니다.perl의 날짜 일치하기

+1

이 또한 볼 수있는 다음 코드 http://stackoverflow.com/questions/411740/how-can-i-parse-dates-and-convert-time-zones-in -perl – FMc

답변

4

Date::Manip과 같은 것을 살펴보십시오. 이런 일이 가능할 때 직접 해보는 것은 거의 의미가 없습니다.

$date = ParseDate($mydate); 
unless ($date) { 
    # error 
} 
... 
+0

감사합니다. 일/월/년 형식으로 작동하는 것처럼 보였지만 일/월/년 형식으로 작동하는 데 문제가 있습니다. – Zerobu

+4

@Zerobu 10/12/2010은 모호합니다. Date :: Manip은 미국 스타일, 10 월 12 일을 가정합니다. 그렇지 않으면 그것을 말해야합니다. 자세한 내용은 http://search.cpan.org/~sbeck/Date-Manip-5.56/lib/Date/Manip.pod#DATE::MANIP_VARIABLES에서 DateFormat을 참조하십시오. – Schwern

1

사용

use strict; 
use warnings; 
use Date::Manip; 
my $start="2010:03:30:23:02:3"; 
my $split=":"; 
my($year,$month,$date,$hour,$min,$sec); 

($year,$month,$date,$hour,$min,$sec)=split($split,$start); 

my $result = ParseDate("$month/$date/$year"); 
if(!$result) 
{ 
    print "Invalid Date\n"; 
    exit; 
}