Version 16 of calendar

Updated 2005-01-03 20:16:26 by lwv

Purpose: to discuss items known as calendar in the Tcl world.

Unfortunately, this name is used both as a widget that is part of incr Widgets as well as a package in tcllib.

http://incrtcl.sourceforge.net/iwidgets/iwidgets/calendar.gif

Docs for the iwidgets widget can be found at http://incrtcl.sourceforge.net/iwidgets/iwidgets/calendar.html and http://purl.org/tcl/home/man/iwidgets3.0/calendar.n.html

GWM Note that the iwidgets calendar uses the same date formula as used by Unix. This uses a 4 byte integer to specify seconds since 1900 (or 1901 maybe). Attempts to move a calendar widget beyond 2037/38 results in the integer overflowing, and the calendar fails, sometimes catastrophically (this is trapped in the iwidgets code so that the year cannot pass 2037). This needs to be addressed in the next 24 years, in the short term a calendar does not need second precision (time does of course). So I think best would be to use 2 variables - the day (from which year can be derived)and seconds of day (perhaps with millisecond or microsecond precision). Both these values could be held in 4 byte integers, with year resolution up to 5,800,000 CE and better than 1 millisecond time resolution. The day can be used to infer the year, and from the year the first day (Mon-Sun) of January is simply found. Then a calendar can easily be constructed for any month (allowing for leap years).

The tcllib group of modules contains some calendar support code. It does not yet have any reference docs though.

tcllib calendar module has a number of calendar printing functions, similar to the unix "cal" command. Despite the name of this page, it is not actually part of the tcllib. Well, yes and no. The code IS a part of the tcllib source code distribution. It is not, however, currently installed, and so one won't find it in , say, a Batteries Included distribution unless someone does something special for it.

BLT comes with a calendar example and efftcl has a calendar example. BLT comes with a calendar example? Where would that be found?


[ Category Command (a part of incr Widgets) | Category Package (a part of Tcllib) | Category Date and Time ]