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

Re: Date manipulations by inbuilt modules.

by moritz (Cardinal)
on Aug 28, 2007 at 09:56 UTC ( [id://635547]=note: print w/replies, xml ) Need Help??


in reply to Date manipulations by inbuilt modules.

I don't know why you don't want to rely on perfectly good external modules, but here is a solution:

my $n = 60; my @time_array = localtime($n * 24 * 3600 + time);
You can learn the meaning of the entries in @time_array from the localtime documentation.

Replies are listed 'Best First'.
Re^2: Date manipulations by inbuilt modules.
by Anonymous Monk on Aug 28, 2007 at 16:05 UTC

    A good reason to use modules is that people make many mistakes when trying to reimplement the code, like you did. You incorrectly assumed all days are 24*60*60 seconds long. Solution:

    use Time::Local qw( timegm ); my ($today_y, $today_m, $today_d) = (localtime())[5,4,3]; $today_m += 1; $today_y += 1900; # Use gmt for date arithmetic, # even if the date is localtime. my $today_date = timegm(0,0,0,$today_d,$today_m-1,$today_y); # Every day *is* 24*60*60 long in GMT. my $plus60_date = $today_date + 24*60*60 * 60; my ($plus60_y, $plus60_m, $plus60_d) = (gmtime($plus60_date))[5,4,3]; $plus60_m += 1; $plus60_y += 1900; printf("Today: %d/%02d/%02d\n", $today_y, $today_m, $today_d); printf("In 60 days: %d/%02d/%02d\n", $plus60_y, $plus60_m, $plus60_d);
    Today: 2007/08/28 In 60 days: 2007/10/27

    - ikegami

Re^2: Date manipulations by inbuilt modules.
by valavanp (Curate) on Aug 28, 2007 at 10:08 UTC
    hi moritz,
    thanks for your reply. If i want to use the Date::Calc module how should i do that. Thanks for your reply.
      $ perl -l use strict; use warnings; use Date::Calc qw(Add_Delta_Days Today_and_Now); my ($year,$month,$day,$hour,$min,$sec) = Today_and_Now(); print join(q{-},$year,$month,$day); ($year,$month,$day) = Add_Delta_Days($year,$month,$day,60); print join(q{-},$year,$month,$day); __END__ 2007-8-28 2007-10-27
      --
      Andreas

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2024-04-24 01:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found