This and other RFCs are available on the web at
  http://dev.perl.org/rfc/

=head1 TITLE

Maintain internal time in Modified Julian (not epoch)

=head1 VERSION

  Maintainer: Nathan Wiger <[EMAIL PROTECTED]>
  Date: 14 Aug 2000
  Version: 1
  Mailing List: [EMAIL PROTECTED]
  Number: 99
  Status: Developing

=head1 ABSTRACT

Currently, internal time in Perl is maintained via C<time>, in
seconds since the UNIX epoch (01 Jan 1970 UTC).

However, this is a very ancient approach and quite UNIX-centric.
Perl 6 should maintain its internal clock source as the Modified
Julian Date.

=head1 DESCRIPTION

The Modified Julian Date is a system-independent, universally
recognized time source. It has several key advantages builtin,
including:

   1. The ability to do date arithmetic with simple math ops

   2. It can be used to easily derive many other sources,
      including UTC and local time

   3. It is platform and even computer-independent 

This RFC proposes several key changes to Perl 6's internal time-
keeping:

   1. Maintain time internally via Modified Julian Date (MJD)

   2. Replace C<time> with C<mjdate>, which will return MJD
      
   3. Make all core time and date functions based off MJD

=head1 IMPLEMENTATION

The C<time> core function should be moved to an external module,
such as C<Time::Local> or C<Unix::Time>.

A core C<mjdate> function should be added, which returns the 
Modified Julian Date. Its name was chosen to make it consistent
with the new C<date> and C<utcdate> functions described in RFC 48.

=head1 REFERENCES

RFC 48: Replace localtime() and gmtime() with date() and utcdate() 

Tim Jenness and Buddha Buck for their great links:
http://www.jach.hawaii.edu/JACpublic/stardocs/sun67.htx/node217.html
http://tycho.usno.navy.mil/systime.html
http://tycho.usno.navy.mil/mjd.html


Reply via email to