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

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 \*(L"modified Julian Day\*(R", starting at midnight U.T.C., November 17, 1858. This number is always 2,400,000.5 lower than the \s-1JD\s0, and this count only uses five digits to specify a date between 1859 and about 2130.

  • DateTime::Format::Epoch::RJD Implements the \*(L"reduced Julian Day\*(R", starting at noon U.T.C., November 16, 1858. This number is always 2,400,000 lower than the \s-1JD\s0.

  • DateTime::Format::Epoch::TJD Implements the \*(L"truncated Julian Day\*(R", starting at midnight U.T.C., May 24, 1968. This number is always 2,440,000,5 lower than the \s-1JD\s0. Actually, there is another version of the \s-1TJD\s0, defined as \s-1JD\s0 modulo 10,000. But that one is a bit harder to implement, so you'll have to do with this version of \s-1TJD\s0. Or don't use \s-1TJD\s0'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 \s-1IBM\s0 (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.

SUPPORT

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

AUTHOR

Eugene van der Pijll <[email protected]>

COPYRIGHT

Copyright (c) 2004 Eugene van der Pijll. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

RELATED TO DateTime::Format::Epoch::JD…

DateTime

[email protected] mailing list