Re: adding days to date

[email protected] ("jagdish eashwar")
Newsgroups perl.datetime
Message-ID <[email protected]>
Hi Alex,

Thanks to you too. Thank you for the quick and helpful response. I think I
am using the object oriented stuff without really understanding it. But
that's one way of learning, isn't it? Thanks again.

On Nov 30, 2007 8:03 PM, Alex Teslik <[email protected]> wrote:

> On Fri, 30 Nov 2007 19:36:30 +0530, jagdish eashwar wrote
> > Hi,
> >
> > I came across some unexpected behaviour in datetime. In the following
> > script, I first define $date1. Then I set $day1 = $date1. Then I add
> > 2 days to $day1. Why does $date1 also get incremented?
> >
> > #!/usr/bin/perl
> > use strict;
> > use warnings;
> >
> > use DateTime;
> >
> > my $date1 = DateTime->new(year => 2007,
> >              month => 12,
> >              day => 23);
> >
> > my $day1 = $date1;
> >
> > $day1->add(days => 2);
> >
> > print "day1 = ",$day1,"\n";   # gives me 2007-12-25 correctly.
> > print "date1 = ",$date1,"\n";  # why does $date1 also change to 2007-
> > 12-25?
> >
> > Jagdish Eashwar
>
> date1 is never a singular value like I think you are expecting. date1
> points
> to a datetime object, which is a collection of multiple values and the
> functions to do work on those values. When you make day1 equal to date1
> you
> are actually pointing day1 at the same object, and therefore the same
> data. So
> then when you change the underlying object by doing $day1>add(days=>2),
> they
> both change.
>
> You can always dump variables to see whats inside using Data::Dumper, like
> this:
>
> #!/usr/bin/perl
> use strict;
> use warnings;
>
> use DateTime;
> use Data::Dumper;
>
> my $date1 = DateTime->new(year => 2007,
>             month => 12,
>             day => 23);
>
> print Dumper($date1);
>
>
> This question is actually more perl related than DBI related. You might
> want
> to try asking and searching at perlmonks.com before asking here next time
> -
> you'll probably get a faster answer.
>
> HTH,
> Alex
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.