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.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.