Я пытаюсь добавить часы, минуты и секунды в форматеКак добавить часы, минуты, секунды в Perl
HH:MM:SS
и, кажется, добавляя правильно часы и секунды, но я изо всех сил в формате минуты. То, что я сделал, это преобразовать часы/минуты/секунды в секунды, суммировать их и переконвертировать. Вот мой код.
use strict;
use warnings;
my @total_sum = qw(10:07:03 01:01:01 02:02:02);
my ($sum, $hrs, $mins, $sec);
for my $t (@total_sum) {
my ($h, $m, $s) = split /:/, $t;
my $hm = $h*3600;
my $tm = $m*60;
$sum = $sum + $hm + $tm + $s;
}
$sec = sprintf ("%02d", $sec = $sum%60);
$mins = int($sum/60);
$hrs = int($sum/3600);
print "$hrs:$mins:$sec\n";
Что я получаю:
13:790:06 instead of
13:10:06
Причина использования DateTime заключается в том, что вам известно, что не все минуты имеют 60 секунд. Поэтому, если он «хочет учиться», вы должны были упомянуть об этом. – ikegami
@ikegami добавил оговорку. – imran
Спасибо @imran. К сожалению, я не могу использовать эти модули Date, которые, я думаю, полезны. – TheBlackCorsair