Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Yesterday Date

by benizi (Hermit)
on Feb 06, 2008 at 05:25 UTC ( #666474=note: print w/replies, xml ) Need Help??


in reply to Yesterday Date

Here's one without any module required. (Mainly for fun.) Take the current time. Find the day of the week. Then subtract 12 hours at a time while you're still on that day or you're on a weekend (day = 0 or 6 -- so abs(3-day) == 3). I think you avoid any Daylight Saving problems by going 12 hours at a time. (Going 24 hours at a time could skip the 23-hour day.) Someone correct me if that's wrong.

my $t = time; my $dow = (localtime $t)[6]; my $new_dow; do { $t -= 43200; # half a day, to counter Daylight Saving effects $new_dow = (localtime $t)[6]; } while $dow == $new_dow or 3 == abs(3-$new_dow); my @ymd = (localtime $t)[5,4,3]; $ymd[0]+=1900; $ymd[1]++; my $date = sprintf "%04d-%02d-%02d", @ymd;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://666474]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2022-08-17 19:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?