Downloads for VisualWorks

    • Installation Instructions for the Chronos Date/Time Library.
    • Fair Warning: Future versions may introduce substantive changes--especially in order to support leap seconds. This is the principal reason Chronos is still in Beta. Also, there have been some significant API changes since Chronos first became publicly available in July 2005. However, the API defined by the ANSI-Smalltalk Standard has not changed--nor will it.
    • The Chronos License (MIT License)
    • Updates and changes will be announced on the Chronos Blog
    • The Chronos codebase is also available from the Cincom Public PostGreSQL StORE Repository (If you obtain your initial version of Chronos from the Cincom Public PostGreSQL StORE Repository, you will also need to download the Chronos Time Zone Repository.)

  • Download VisualWorks Smalltalk
  • Download the TimeZone-External Repository-Olson TZDB package (including instructions.) This package adds support to Core.TimeZone for retrieving VW Core.TimeZone instances from (and storing them into) an external repository. The external repository contains all the time zones in the Olson Timezone Database. More details are available from the availability announcement

Helpful Information

Instances of Chronos' Timepoint, YearMonthDay, TimeOfDay, ScientificDuration and ChronosTimezone classes can all be converted into their native equivalents by sending the message #asNative to the instance. Instances of the native date/time classes can be converted into their Chronos equivalents by sending the message #asChronosValue to the instance.

A Chronos Timepoint may be either invariant to Universal Time (same semantics as a java.util.Date--as required by the ANSI Smalltalk Standard) or invariant to nominal time (same semantics as a VisualWorks Timestamp.) A Timepoint that is invariant to Universal Time uses its value in Universal Time as its invariant, and compares as equal to all others whose value in Universal Time is the same. A Timepoint that is invariant to nominal time uses its nominal ("local") time as its invariant, and compares as equal to all others having the same nominal ("local") time. When the two types of time-invariance are mixed in the same expression, nominal-time-invariant semantics takes precedence. Universal-Time invariance is the default.

For additional information regarding the interoperability of the Chronos date, time, duration, interval and time zone values with those that come natively with VisualWorks, please refer to the following article: Chronos/VisualWorks Compatibility.

[Chronos] All code (classes and methods, and all associated documentation,) distributed as part of the Chronos Date/Time library are © Copyright 2005-2006 by Alan L. Lovejoy.  All Rights Reserved. Usage is controlled by the Chronos License (which is included in the distribution as the contents of the file {chronos-license.txt}, and is also available from the Chronos web site {})

"Do not go gentle into that good night,
Old age should burn and rave at the close of the day;
Rage, rage at the dying of the light!" -- Dylan Thomas