dirtdog has asked for the wisdom of the Perl Monks concerning the following question:
Hi Monks, I'm trying to get the last day of the month from 2 months ago. For example, Since the current month is March i'd like to get a date range of 1/31/2011 to 2/28/2011. And If current month was February..then i'd want 12/31/2010 to 01/31/2011. The code i'm using is below...I really appreciate your help!
#!/usr/bin/env perl use POSIX 'strftime'; my @t = (localtime(time)); #mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0 +); my $lastday = POSIX::mktime(0,0,0,0,$t[4],$t[5],0,0,-1); my $lastday_prev = POSIX::mktime(0,0,0,0,$t[3],$t[5],0,0,-1); my @ld_prev = localtime($lastday_prev); my @ld = localtime($lastday); print "ld is $ld[3]\n"; print "ld_prev is $ld_prev[3]\n"; my $monthly_date_beg = strftime('%m/' . $ld_prev[3] . '/%Y', $t[0],$t[ +1], $t[2], $t[3], $t[4]-2, $t[5]); my $monthly_date_end = strftime('%m/' . $ld[3] . '/%Y', $t[0],$t[1], $ +t[2], $t[3], $t[4]-1, $t[5]); rint "beg = $monthly_date_beg\n"; print "end = $monthly_date_end\n";
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: How to get last day of 2 months ago
by Corion (Patriarch) on Mar 11, 2011 at 16:05 UTC | |
by dirtdog (Monk) on Mar 11, 2011 at 16:49 UTC | |
Re: How to get last day of 2 months ago
by Anonymous Monk on Mar 11, 2011 at 15:20 UTC | |
Re: How to get last day of 2 months ago
by JavaFan (Canon) on Mar 11, 2011 at 15:38 UTC | |
Re: How to get last day of 2 months ago
by Anonymous Monk on Mar 11, 2011 at 17:01 UTC |
Back to
Seekers of Perl Wisdom