#!/bin/perl use Date::Calc qw(Date_to_Time); use POSIX; $time1 = Date_to_Time(2007,8,8,23,00,0); $time2 = Date_to_Time(2007,8,9,03,00,0); $time3 = Date_to_Time(2007,8,10,01,00,0); print "$time1\t$time2\t$time3\n"; $avg = sprintf "%0.0f", (($time1+$time2+$time3)/3); print "$avg\n"; print strftime "%H:%M:%S\n", gmtime($avg); #### $count = 0; $starthour = 17; foreach $time (@times) { $count ++; ($hour,$minute,$second) = split(/:/,$time`); if ($hour >= $starthour) { $time += Date_to_Time(1970,1,1,$hour,$minute,$second); } else { $time += Date_to_Time(1970,1,2,$hour,$minute,$second); } } $timeavg = $time/$count; print strftime '%H:%M:%S', gmtime($timeavg);