If can live with its limitations(1), you could try something like this:
#! perl -slw
use strict;
use constant MONTHS => { qw[
Jan 0 Feb 31 Mar 59 Apr 90 May 120 Jun 151
Jul 181 Aug 212 Sep 242 Oct 272 Nov 303 Dec 334
] };
sub str2epoch {
my( $d, $m, $y, $H, $M, $S ) = $_[0] =~
m[^.... (\d\d) (...) (\d\d\d\d) (\d\d):(\d\d):(\d\d)]
or die "Bad format $_[0]";
my $leaps = int( ($y - 1970) / 4 + 0.5 );
(((($y-1970)*365 +$leaps+MONTHS->{$m}+($d-1))*24 +$H)*60 +$M)*60 +
+$S;
}
my $date = 'Fri, 01 Mar 2013 01:21:14 +0000';;
print str2epoch( $date );
print scalar localtime str2epoch( $date );
print scalar localtime str2epoch( 'Fri, 12 Jul 2013 01:20:34' );;
__END__
C:\test\primes>..\str2epoch.pl
1362100874
Fri Mar 1 01:21:14 2013
Fri Jul 12 02:20:34 2013
And if you need a little more you might parse the numbers with unpack instead of the regex engine.
1 Limitations include:
- No leap seconds;
- No daylight savings;
- No timezones;
- Only works for another 87 years.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|