http://qs321.pair.com?node_id=258734


in reply to Converting datetime string to valid localtime value (seconds)

Hope fully this helps.
#!/usr/local/bin/perl use strict; use Date::Manip; my $line = qq{1.2.3.4 - - [15/May/2003:01:05:02 -0600] "GET /foobar"}; my $date = ''; if ($line =~ /\[([^\]]+)\]/) { $date = $1; } my $secs = UnixDate(ParseDate($date),"%s"); print "$secs\n"; print localtime($secs)."\n";
You can also throw the DateCalc sub in there for your time zone.

UPDATE: Better solution

$Date::Manip::TZ = '-0800'; my $line = qq{1.2.3.4 - - [15/May/2003:01:05:02 -0600] "GET /foobar"}; my $date = ''; if ($line =~ /\[([^\]]+)\]/) { $date = $1; } my $tz = (split(/\s+/,$date))[1]; print "$date $tz\n"; my $secs = UnixDate(Date_ConvTZ(ParseDate($date),$tz,'GMT' ),"%s"); print "$secs\n"; print localtime($secs)."\n";


grep
Mynd you, mønk bites Kan be pretti nasti...