Good morning All.

I am looking for a way to translate date/timestamps in various formats to EPOCH 
seconds without using a module (cannot use a module in this situation other 
then the standard modules installed with Perl).

I am going to create a subroutine and parse the date/timestamp passed into it's 
various components. I will then pass those components to the timelocal function 
to return the EPOCH seconds.

Ex:

$dayOfWeek, $day, $month, $hour, $min, $sec, $year=split /\s+|:/, $_[0];
my %months=qw(Jan 0 Feb 1 Mar 2 Apr 3 May 4 Jun 5 Jul 6 Aug 7 Sep 8 Oct 9 Nov 
10 Dec 11);
$month=$months{$month};
$time=timelocal($sec,$min,$hour,$day,$month,$year);

The problem is, the date/timestamp passed can be of various formats:
Ex:
Tuesday, 04/26/2005 06:02:43 PM
Tuesday, 26/04/2005 18:02:43
04/26/2005 06:02:43 PM
26/04/2005 06:02:43 PM
04/26/2005 18:02:43

etc..

I am looking for a way to gracefully handle the format using a format parameter 
passed with the date/timstamp to the subroutine.

Ex. my $epoch=convert_to_epoch("Tuesday, 26/04/2005 18:02:43","Day, DD/MM/YYYY 
HH24:MM:SS")
my $epoch=convert_to_epoch("04/26/2005 06:02:43 PM" ,"DD/MM/YYY HH12:MM:SS")

Is there a gracefull way of doing this WITHOUT using if if/elsif loop to parse 
every possible format type?

Again, I cannot use a module in this situation due to limitations of the 
runtime environment.

Thanks!
Jason


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to