El Fri, 03 November 2000, Dave Thomas escribióº

> You may be right, but it isn't a Ruby bug...
> 
>      dave[rubyweb/raa 8:39:48] date -d "Fri Nov  3 06:20:59 CST 2000"
>      Fri Nov  3 06:20:59 CST 2000
>      dave[rubyweb/raa 8:39:55] date -d "Fri Nov  3 06:20:60 CST 2000"
>      Fri Nov  3 06:21:00 CST 2000


Nod.. that's probably a 'bug' in the standard C library strftime() function and underlining structs...

See in the reference web page I gave this paragraph:

"[The new 1999 version of the C programming language standard (ISO 9899) added in the strftime() function means to
generate the ISO 8601 week notation. The author of this text developed a further proposal for a modernised clock and
calendar API for C, which provides full proper treatment of leap seconds and timezones and fixes numerous other problems in
the current C timing library functions. It also serves as a model for those who want to design clock library functions for other
programming languages.] "

There's a link to a 'nice' proposal for new date classes (ei. structs and functions) linked in the original text... A proposal of implementation (not finished) shows:

(from http://www.cl.cam.ac.uk/~mgk25/c-time/)

if (tz == NULL) {
      if (tmptr->tm_sec  < 0 || tmptr->tm_sec  > 60 ||
          tmptr->tm_min  < 0 || tmptr->tm_min  > 59 ||
          tmptr->tm_hour < 0 || tmptr->tm_hour > 23 ||
          tmptr->tm_mon  < 0 || tmptr->tm_mon  > 11 ||
          tmptr->tm_mday < 0 || tmptr->tm_mday > ... ||
          tmptr->tm_isdst > 0)
      {
...

Note that seconds are 0 <= seconds <= 60 to allow for leap seconds (among other things explained in that page)

I find this very modern, precise, and I wonder when the ISO 9899 will be incorporated into gcc/glibc (and if GNOME glib has it or not, have to check that one).

It would allow for, among others, more precise real time operations, mathematical/scientific programs and a better sync for nntp daemons, incresing usability of long running programs (NASA, ESA computers, for example).

> Dave

thn,
david


----------------------------------------------------------------------
+  Mensaje enviado gracias al correo gratuito de Desmasiado Corp.    +
+                  http://correo.demasiado.com                       +
----------------------------------------------------------------------