지속 시간(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"