[I know this is a very old posting, but I just can't resist commenting it since it is about the base time format.]
[EMAIL PROTECTED] (Rich Bowen) wrote: > [...] the fact that an ISO date can be expressed 6 different > ways, which makes ISO less attractive to me. I don't see why this is relevant. A date may be represented in many more than six ways, but as long as one picks one format and everyone agrees to use that, then it's no longer a problem. The iCalendar format is much worse because it is too limited to be suitable as a base format. It might be ok for everyday calendar use, but not as a base format for a set of modules that might be used by people with all sorts of needs related to range and precision: Astronomers work with dates long before year 1 and physicists work with atto, yotta, zettaseconds. > Julian dates, for example, require that you store the time as a > separate field, because the julian date expresses only the date. It is *very* common to include a fractional part to represent the time of day. And by allowing an arbitrary number of decimals in the fractional part (and an arbitrary number of digits in the integer part) one can represent *any* point in time with *any* precision. And Julian days are very convenient for time arithmetic. And they are calendar independent -- a good "gratest common divisor". Compared to Julian days, the iCalendar format is clumsy, awkward, and limited. > Since you have to store, and therefore retrieve and parse, two > values instead of one, it makes this storage format more > difficult. That's irrelevant when you use a fractional part. > While I've read this various places, I've never encountered a > real application where microsecond precision was necessary in a > calendaring context. Is the DateTime-modules only for calendaring purposes? I thought this was a base on which people could build modules for doing all sorts of time calculations. Hm. Perhaps I misunderstood. Peter -- #!/local/bin/perl5 -wp -*- mode: cperl; coding: iso-8859-1; -*- # matlab comment stripper (strips comments from Matlab m-files) s/^((?:(?:[])}\w.]'+|[^'%])+|'[^'\n]*(?:''[^'\n]*)*')*).*/$1/x;