my $time=0; while ($time <= 1800) { my ($sec,$min,$hour,$day,$month,$year) = localtime(time()-$time); $year = $year+1900; $month++; if ($hour >12) {$hour=$hour-12;} my $date=sprintf "%d/%d/%d %d:%02d:00", $month, $day, $year, $hour, $min; push(@array, $date); $time+=60; }