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"

関連情報