Hello,
Yes I have got a solution (Maybe ;) )...
####CODE####
use Time::Local; #Epoch Decleares
$date = `date +%d/%b/%Y:%H:%M:%S`;
$epdate = &epoch($date);
($eday, $emon, $eyear, $ehr, $emin, $esec) = &etime($epdate);
print "Current Date: $date\nEpoch: $epdate\n";
printf "%2d %3s %4d %02d\:%02d\:%02d\n", $eday, $emon, $eyear, $ehr, $
+emin, $esec, $host;
exit;
### Subs
sub etime ##Change from Epoch Time to DMYHMS
{
my $date = @_[0];
my %emonths = ('1',Jan,'2',Feb,'3',Mar,'4',Apr,'5',May,'6',Jun,
'7',Jul,'8',Aug,'9',Sep,'10',Oct,'11',Nov,'12',Dec);
($esec, $emin, $ehr, $eday, $emon, $eyear) = localtime($date);
$eyear = $eyear+1900; $emon = $emon+1; $ehr = $ehr; #Time Zone Chang
+e (Zulu)
$emon = $emonths{$emon};
return ($eday, $emon, $eyear, $ehr, $emin, $esec);
}
sub epoch ##Change from DMYHMS to Epoch Time
{
my $date = @_[0];
%months = ('Jan',1,'Feb',2,'Mar',3,'Apr',4,'May',5,'Jun',6,
'Jul',7,'Aug',8,'Sep',9,'Oct',10,'Nov',11,'Dec',12);
$date =~ tr/\[//d;
@dates = split(/\:/, $date);
@mons = split(/\//, $dates[0]);
$year = $mons[2]; $mon = $mons[1]; $day = $mons[0];
$hr = $dates[1]; $min = $dates[2]; $sec = $dates[3];
my $mon = $months{$mon};
if(!($mon < 1) || ($mon > 12))
{
$time = timelocal($sec, $min, $hr, $day, $mon-1, $year-1900); #con
+verts to Epoch
chomp($time);
}
return $time;
}
####CODE####
###Output####
Current Date: 16/Dec/2001:22:02:08
Epoch: 1008568928
16 Dec 2001 22:02:08
###Output####
Hope This Helps,
Joe
|