On Fri, 7 Feb 2003, Rick Measham wrote: > Would you consider letting the new() method optionally take a DateTime object?
There's a "DateTime->from_object" method already. > Extending further we could move other stuff too: > my $here = DateTime->new(datetime=>$rth, hour => 19); > which would set $here to a clone of $rth, but with the hour set to 19. > > You ask me for a use for this? How about something that expires > today at midnight? (23:59:60 or Tomorrow at 00:00:00 depending on > your perspective, see Note 1) > Let's imagine our application has already set > $NOW = DateTime->now; > so all we need to do to get midnight tonight is: > $midnight = DateTime->new(datetime=>$NOW, hour=>23, minute=>59, second=>60); > rather than > $midnight = DateTime->new(year=>$NOW->year, month=>$NOW->month, > day=>$NOW->day, hour=>23, minute=>59, second=>60); For all this stuff you might as well just do: my $new = $dt->clone; $new->set( hour => 23 ); The only problem is that setting the time zone changes the local time, and you wanted a way to change the time zone without changing the local time. That just requires another method that is unambiguously different from "set_time_zone()". -dave /*======================= House Absolute Consulting www.houseabsolute.com =======================*/
