The following module was proposed for inclusion in the Module List:
modid: Time::JulianDateTime
DSLIP: adpfp
description: Astronomical Julian Date / Time conversions
userid: AQUACADE (Lawrence Hixson)
chapterid: 6 (Data_Type_Utilities)
communities:
Perl Mongers, Perlmonks, maillists
similar:
Time::JulianDay
rationale:
Module differs from other CPAN contributions because it:
1) Assumes our current 7-day week as a continuous series of days
from ancient past to distant future, completely incorporating full
leap years rules across the range of all years (currently accurate
between 9999 BC and 9999 AD)
2) Uses the fractional part of JD to encode time-of-day to the
second using the strict astronomical interpretation where whole
number Julian Day start at 12:00:00 UTC (Noon) (or configurable to
use local time 12:00:00) and fractional value of .5 is midnight.
(Astronomers do it all night long! <g>)
4) Calculates JD 0.0 (zero) as 01/01/4713 BC 12:00:00 UTC; JD
2451545.0 as 01/01/2000 AD 12:00:00; JD 2452576.54007 as 10/29/2002
AD 00:57:42 UTC
5) For consistency (see #1 above), forces non-existent year zero to
1 BC and handles the Gregorian shift seemlessly by forcing all the
days between 5-OCT-1582 and 14-OCT-1582 inclusive to be JD 2299161
to maintain unbroken 7-day weeks consistent with our modern calendar
(rule #1 again)
6) Includes a day-of-the-week function due to accommodate 12:00:00
UTC bias of .5 JDs correctly
7) Includes a day-of-the-year function (since January 1st of
current year) as 2002001 to 2002365 for example with or without
leading year
Thanks!
enteredby: AQUACADE (Lawrence Hixson)
enteredon: Tue Oct 29 01:36:04 2002 GMT
The resulting entry would be:
Time::
::JulianDateTime adpfp Astronomical Julian Date / Time conversions AQUACADE
Thanks for registering,
The Pause Team
PS: The following links are only valid for module list maintainers:
Registration form with editing capabilities:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=55300000_6414314db45be60a&SUBMIT_pause99_add_mod_preview=1
Immediate (one click) registration:
https://pause.perl.org/pause/authenquery?ACTION=add_mod&USERID=55300000_6414314db45be60a&SUBMIT_pause99_add_mod_insertit=1