• ベストアンサー

時間の変換

分刻みで時間が変数$timeに記録されます。 $time = '735'; の場合は、735分ですので時間にすれば12時間15分になりますが、 12時間15分と変換させるよい方法が思いつきません。 お手数ですが、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

割り算の余りを算出する%演算子と、整数部分を取得するintを使えば良いかと。 例) ----------------------------------------------------------------- my $time = 735; my $disp_time = $time % 60 . 'min'; $disp_time = int($time / 60) % 24 . 'hour ' . $disp_time if ($time >= 60); $disp_time = int($time / 60 / 24) . 'day ' . $disp_time if ($time >= 60 * 24); print $disp_time; # 「12hour 15min」と表示される。 ---------------------------------------------------------------------

cocolink
質問者

お礼

24時間を越した分はdayとして表示されるものを教えていただき、誠に有難うございます。 ただ、今回は時間と分のみで表示したかったため、以下のように書いてみました。書き方が変なところがあれば教えていただけると幸いです。 my $hour = $time/60; $hour =~ s/([\w]+)(\.)([\w]+)/$1/g; my $min = $time - $hour * 60; print "$hour時間$min分";

cocolink
質問者

補足

追伸。 教えていただいたソースを参考に、時間と分のみの表示を以下のように書いてみました。よろしいでしょうか。 $disp_time = $time % 60 . '分'; $disp_time = int($time / 60) . '時間' . $disp_time if ($time >= 60);