Chronos
Chronos project pageThe Chronos Date/Time Library (Ref: http://www.chronos-st.org/)
Chronos is an industrial strength Date/Time library:
- Implements the ANSI-Smalltalk Standard DateAndTime, DateAndTimeFactory, Duration and DurationFactory protocols.
- Supports the full functionality of the Olson Timezone Database (the native time zone database of UNIX)--including time zone rules that vary from year to year.
- Supports various calendrical systems in addition to the international standard Gregorian calendar (e.g., Julian, Hebrew, Islamic, Persian...).
- Supports both business and scientific use cases, including time-of-day-preserving date arithmetic, holiday definition/detection, and resolution down to the nanosecond.
- Supports point-in-time values that are either invariant to universal time or invariant to nominal time.
- And much, much more...
Links:
INSTALLATION INSTRUCTIONS
First, download the Chronos Time Zone Repository, and install it according to the Chronos installation instructions
The following packages must be installed in the specified order (and any packages not mentioned should be ignored):
1. Install the package PassportPreamble (The filename will be of the form "PassportPreamble-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
2. Install the package Passport (The filename will be of the form "Passport-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
NOTE: The first two packages comprise the "Passport" inter-smalltalk portability library that is used by Chronos (and was in fact developed for use by Chronos.) Passport might prove useful for other applications and/or class libraries that need to operate on more than one Smalltalk platform.
3. Install the package ChronosPreamble (The filename will be of the form "ChronosPreamble-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
4. Install the package Chronos (The filename will be of the form "Chronos-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
5. Install the package ChronosPostscript (The filename will be of the form "ChronosPostscript-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
6. IF AND ONLY IF you are installing Chronos in a Squeak image whose version > 3.6, then install the package ChronosSqueakPost36Only (The filename will be of the form "ChronosSqueakPost36Only-SV.B.mcz", where "S" is one of "A" (alpha), "B" (Beta) or "R" (Release,) "V" is the major version (release) number, and "B" is the build number.)
Usually, the package version with the highest version (release) and build number should be chosen (so choose "Chronos-B1.190" over "Chronos-B1.188".)
RE-INSTALLATION INSTRUCTIONS
After re-installing a different version of Chronos without first removing the previous version (using Monticello,) the following "do it" should be evaluated so as to ensure the global, shared pool and class variables are correctly initialized: ChronosEnvironment canonical reinstall.
When using file-ins (.st files or .sar files,) it is always necessary to completely remove the previous version of Chronos, before installing a different version. The "deltas" between versions are not distributed--the Chronos file-ins for each version all assume a "de novo" installation.
ChronosSystem-Gemstone-PaulDeBruicker.5.mcz
ConfigurationOfChronos-PaulDeBruicker.30.mcz
PassportKernel-Squeak-PaulDeBruicker.12.mcz
Chronos-PaulDeBruicker.211.mcz
ChronosSystem-Squeak-PaulDeBruicker.20.mcz
ConfigurationOfChronos-PaulDeBruicker.29.mcz
Chronos-PaulDeBruicker.206.mcz
ConfigurationOfChronos-PaulDeBruicker.28.mcz
ConfigurationOfChronos-PaulDeBruicker.27.mcz
PassportKernel-Gemstone-PaulDeBruicker.11.mcz
ConfigurationOfChronos-PaulDeBruicker.26.mcz
ConfigurationOfChronos-PaulDeBruicker.25.mcz
PassportKernel-Squeak-PaulDeBruicker.10.mcz
Passport-PaulDeBruicker.32.mcz
ConfigurationOfChronos-PaulDeBruicker.24.mcz
ChronosTimeZoneUtilities-PaulDeBruicker.4.mcz
ChronosSystem-Squeak-PaulDeBruicker.19.mcz
ChronosTimeZoneUtilities-PaulDeBruicker.3.mcz
ChronosTimeZoneUtilities-PaulDeBruicker.2.mcz
ChronosTimeZoneUtilities-PaulDeBruicker.1.mcz
PassportKernel-Squeak-PaulDeBruicker.9.mcz
Passport-PaulDeBruicker.31.mcz
ChronosSystem-Squeak-PaulDeBruicker.8.mcz
PassportKernel-Gemstone-PaulDeBruicker.10.mcz
PassportKernel-Gemstone-PaulDeBruicker.9.mcz
Passport-PaulDeBruicker.30.mcz
PassportKernel-Gemstone-PaulDeBruicker.7.mcz
Passport-PaulDeBruicker.29.mcz
ChronosSystem-Squeak-PaulDeBruicker.9.mcz
PassportKernel-Gemstone-PaulDeBruicker.6.mcz
PassportKernel-Gemstone-PaulDeBruicker.4.mcz
Passport-PaulDeBruicker.28.mcz
ChronosSystem-Gemstone-PaulDeBruicker.4.mcz
ChronosSystem-Squeak-PaulDeBruicker.7.mcz
Chronos-PaulDeBruicker.205.mcz
PassportKernel-Squeak-PaulDeBruicker.8.mcz
Passport-PaulDeBruicker.26.mcz
Chronos-B1.196.mcz
Passport-B1.6.mcz
PassportPreamble-B1.5.mcz
ChronosPostscript-B1.4.mcz
ChronosPreamble-B1.2.mcz
ChronosSqueakPost36Only-B1.3.mcz