logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

DateTime::Format::Epoch::JD - Convert DateTimes to/from Julian Days

Author

       Eugene van der Pijll <pijll@gmx.net>

Description

       This module can convert a DateTime object (or any object that can be converted to a DateTime object) to
       the Julian Day number. This is the number of days since noon U.T.C. on January 1, 4713 B.C. (Julian
       calendar).

       This time scale was originally proposed by John Herschel, and is often used in astronomical calculations.

       Similar modules are:

       •   DateTime::Format::Epoch::MJD

           Implements the "modified Julian Day", starting at midnight U.T.C., November 17, 1858.  This number is
           always  2,400,000.5 lower than the JD, and this count only uses five digits to specify a date between
           1859 and about 2130.

       •   DateTime::Format::Epoch::RJD

           Implements the "reduced Julian Day", starting at noon U.T.C., November  16,  1858.   This  number  is
           always 2,400,000 lower than the JD.

       •   DateTime::Format::Epoch::TJD

           Implements  the  "truncated  Julian  Day", starting at midnight U.T.C., May 24, 1968.  This number is
           always 2,440,000,5 lower than the JD.  Actually, there is another version of the TJD, defined  as  JD
           modulo  10,000.  But that one is a bit harder to implement, so you'll have to do with this version of
           TJD.  Or don't use TJD's at all.

       •   DateTime::Format::Epoch::RataDie

           Implements the Rata Die count, starting  at  January  1,  1  (Gregorian).   This  count  is  used  by
           DateTime::Calendar programmers.

       •   DateTime::Format::Epoch::Lilian

           Implements the Lilian count, named after Aloysius Lilian (a 16th century physician) and first used by
           IBM  (a  19th  century  punched card machine manufacturer).  This counts the number of days since the
           adoption of the Gregorian calendar.  Only days are counted, and October 15, 1584 is day 1.

Methods

       Most of the methods are the same as  those  in  DateTime::Format::Epoch.   The  only  difference  is  the
       constructor.

       •   new()

           Constructor of the formatter/parser object. It has no parameters.

Name

       DateTime::Format::Epoch::JD - Convert DateTimes to/from Julian Days

See Also

       DateTime

       datetime@perl.org mailing list

perl v5.34.0                                       2022-06-13                   DateTime::Format::Epoch::JD(3pm)

Support

       Support  for this module is provided via the datetime@perl.org email list. See http://lists.perl.org/ for
       more details.

Synopsis

         use DateTime::Format::Epoch::JD;

         my $dt = DateTime::Format::Epoch::JD->parse_datetime( 2453244.5 );
          # 2004-08-27T00:00:00
         DateTime::Format::Epoch::JD->format_datetime($dt);
          # 2453244.5

         my $formatter = DateTime::Format::Epoch::JD->new();
         my $dt2 = $formatter->parse_datetime( 2453244.5 );
          # 2004-08-27T00:00:00
         $formatter->format_datetime($dt2);
          # 2453244.5

See Also