I prefer Date::Calc over DateTime because Date::Calc is very very fast and has almost no dependencies, where DateTime has a lot (and also does a lot more that I never need). update: the second pair of links show the dependencies in cpandeps
For scripts, DateTime is ok, as it documents what you do in it's over-designed OO interface (I don't like OO if it isn't needed), but for one-liners and fast code, Date::Calc is my preferred module.
Corion, your code fragment misses a - 1:
$ perl -MDateTime -le'my($y,$doy)=(2008,1);my$dt=DateTime->new(year=>$
+y,month=>1,day=>1);$dt->add(days=>$doy);print$dt->strftime("%Y%m%d")'
20080102
$ perl -MDateTime -le'my($y,$doy)=(2008,1);my$dt=DateTime->new(year=>$
+y,month=>1,day=>1);$dt->add(days=>$doy-1);print$dt->strftime("%Y%m%d"
+)'
20080101
$ perl -MDate::Calc=Add_Delta_Days -e'my($y,$doy)=(2008,1);printf"%4d%
+02d%02d\n",Add_Delta_Days($y,1,1,$doy-1)'
20080101
Enjoy, Have FUN! H.Merijn
|