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