Solved

How to check if date is valid in perl?

Posted on 2012-03-28
4
439 Views
Last Modified: 2012-03-28
My date format is dd/mm/yyyy

This date should return an error:  30/31/2009

How can I check this date and return that it does not exist.
0
Comment
Question by:dmalovich
  • 2
  • 2
4 Comments
 
LVL 31

Expert Comment

by:farzanj
ID: 37779063
Try
use DateTime::Format::ISO8601;
eval {
    $date = DateTime::Format::ISO8601->parse_datetime("20061730");
};
if ( $@ ) { print "ERROR: date not valid" };

Open in new window

0
 

Author Comment

by:dmalovich
ID: 37779099
What does "20061730" represent?
0
 
LVL 31

Accepted Solution

by:
farzanj earned 500 total points
ID: 37779124
That is a date in YYYYMMDD format.  
You can get it like

my $date = '30/31/2009';
my ($dd, $mm, $yyyy) = $date =~ m{(\d\d)/(\d\d)/(\d\d\d\d)};

my $yyyymmdd = "$yyyy$mm$dd";

You can also write test conditions yourself as well
0
 

Author Closing Comment

by:dmalovich
ID: 37779376
Thanks.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I've just discovered very important differences between Windows an Unix formats in Perl,at least 5.xx.. MOST IMPORTANT: Use Unix file format while saving Your script. otherwise it will have ^M s or smth likely weird in the EOL, Then DO NOT use m…
Many time we need to work with multiple files all together. If its windows system then we can use some GUI based editor to accomplish our task. But what if you are on putty or have only CLI(Command Line Interface) as an option to  edit your files. I…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now