Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: checking for valid date

by TedPride (Priest)
on Jul 30, 2006 at 16:54 UTC ( #564633=note: print w/replies, xml ) Need Help??


in reply to checking for valid date

Just because I like to roll my own:
use strict; use warnings; while (<DATA>) { chomp; print "$_ : ", validate($_), "\n"; } BEGIN { my @mdays = (0,31,28,31,30,31,30,31,31,30,31,30,31); sub validate { no warnings; my ($year, $month, $day) = $_[0] =~ m/^(\d{4})(\d{2})(\d{2})$/ +; my $nyear = (localtime())[5] + 1900; ##### Year range is 10 years on either side of current year ##### Also exits if m// returned nothing return if $year < $nyear - 10 || $year > $nyear + 10; return if $month < 1 || $month > 12; ##### Leap year conditions if ($month == 2) { if ($year % 4 != 0) { $mdays[2] = 28; } elsif ($year % 400 == 0) { $mdays[2] = 29; } elsif ($year % 100 == 0) { $mdays[2] = 28; } else { $mdays[2] = 29; } } return if $day < 1 || $day > $mdays[$month]; return 1; } } __DATA__ 1234567 19991203 20051303 20051232 20040229 20050229 20401223

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://564633]
help
Chatterbox?
[erix]: nice cover with the spitting image of George (and a great solo by Prince at the end )
[Discipulus]: good night monks! i feel fresh as the turkey in the hoven but i need to sleep
[planetscape]: gobble, gobble, Discipulus!
[erix]: Discipulus: buonanotte! :)
[stonecolddevin]: man we need a new guitar legend
[stonecolddevin]: Clapton has issues playing nowadays
[stonecolddevin]: Prince is gone
[stonecolddevin]: Van Halen is still around but I haven't heard any of their new stuff
[erix]: oh, 41M views -- everyone has seen it already then :)
[erix]: Alvin Lee dead too -- we're stuck with Karl, I'm afraid :)

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (12)
As of 2017-06-22 21:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    How many monitors do you use while coding?















    Results (531 votes). Check out past polls.