PERL - How to get 1st, 2nd, 3rd etc... Monday, Tuesday, Wednesda, etc ... date in a month

I need to find specific dates. I will always have the Month, Year and Marker.

i.e.
September, 2008.
I need to know the 'date' of the (for example) 1st Monday or 2nd Friday or whatever. Date can be in unixtime,localtime,mysql or some format that I can manipulate. Looking for pure perl or lightweight module.
LVL 1
Bob-VillaAsked:
Who is Participating?
 
FishMongerConnect With a Mentor Commented:
It's not  a lightweight module, but Date::Mainip would be the easiest.
http://search.cpan.org/~sbeck/Date-Manip-5.46/Manip.pod
#!/usr/bin/perl
 
use strict;
use warnings;
use Date::Manip;
 
my $date = ParseDate("2nd Thursday in September 2008");
print "$date\n";
 
print UnixDate("2nd Thursday in September 2008",
               "The date you requested is %b %e, %Y.\n");

Open in new window

0
 
Suhas .QA ManagerCommented:
for that using module Date::Simple
my $date = ymd($year, $month, $day); # for ex sep 2008 give input year = 2008 month = 9 day = 1

then,
print "Today is ";
    print(('Sun','Mon','Tues','Wednes','Thurs','Fri','Satur')
          [$date->day_of_week]);
    print "day.\n"; # you will get the 1st day of week, ex. tuesday

after that its easy for you to find the date of the 1st mon or 3rd mon etc....
little tricky... but you have to write the loops accordingly...

Hope this helps...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.