perl - hh:mm:ss를 초로 변환하는 방법

perl - hh:mm:ss를 초로 변환하는 방법

지속 시간(hh:mm:ss)을 총 초로 변환하는 방법이 Perl에 있습니까?

샘플: 02:50:30 출력: 10230

답변1

다음 프로그램이 이 작업을 수행해야 합니다.

$hhmmss="02:50:30";
@arr=split(':',$hhmmss);
$sec=@arr[2];
$sec+=@arr[1]*60;
$sec+=@arr[0]*3600;
print $sec;

답변2

$ perl -le '$t=shift;
            ($h,$m,$s) = split /:/, $t;
            print $h * 3600 + $m * 60 + $s' 02:50:30
10230

또는 $t 변수 없이:

$ perl -l -e '($h,$m,$s) = split /:/, shift;
              print $h * 3600 + $m * 60 + $s' 02:50:30
10230

답변3

정규식을 사용하여 모든 시간 단위를 찾은 다음 수학적 계산에 참조합니다.

perl -e 'print $1*3600 + $2*60 + $3 if $ARGV[0]=~/^(\d{2,}):(\d{2}):(\d{2})$/' "02:50:30"

관련 정보