develooper Front page | perl.perl6.language | Postings from July 2005

Re: Time::Local

Thread Previous | Thread Next
From:
Darren Duncan
Date:
July 5, 2005 15:20
Subject:
Re: Time::Local
Message ID:
p06230900bef0b45ef642@[192.168.1.101]
All,

In the spirit of forward thinking and adaptability (and 
internationalization), I believe a core Time/Date object should be 
calendar agnostic and simply store some value that is easily 
convertable to any date + time on any calendaring system.  I say 
forward thinking because this system will be forwards compatible with 
calendaring systems that don't yet exist, and backwards compatible 
with older calendars we haven't bothered to account for yet.

I believe that at its core said object should simply store a count of 
rigorously defined time units relative to a rigorously defined epoch. 
What the epoch is and what the time unit is will need to be 
officially defined (eg, Jan 1, 2000; counting in fractions of 
seconds).  The object should not store anything other than this 
single numerical value internally (smart caching of conversions 
aside).

Save all human-desired representations to something that is computed 
on request, such as using a getter method named after the desired 
format; and setting would do the reverse.  This can work with values 
in any calendaring system.

With this system, date calculations and storage are trivially easy, 
and Perl's built-in date/time function would simply return that 
number or said object.  All the complexity is in the getter/setter 
methods that are specific to what details a user wants, such as the 
day of week or an ISO formatted string.  In fact, all of that actual 
conversion stuff would be what modules are good for.  Perl internally 
just has to know about the one number.

-- Darren Duncan

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About