Contains the basic time model. It describes time ranges as half open intervals on the time axis. Their relations among themselves and to {@link java.util.Date} are specified.

In some respect the presented time model can be viewed as an extension of the builtin model as represented by {@link java.util.Date} and {@link java.util.Calendar}. To the notion of a point in time, the notion of an {@link Int.ecb.gesmescb.time.Interval} is added. In the context of time series, particularly the well aligned {@link Int.ecb.gesmescb.time.RegularInterval} is important.

The model is designed to be open enough in order to permit the use of various different implementations besides the one that comes with the package itself.

Important: Note that indexes always start at 0. This often makes it necessary to add or substract 1 when translating to or from human readable representations.

Important: {@link java.util.Date} must be used as immutable class. Otherwise, if you use {@link java.util.Date#setTime(long)} or any other kind of set method on a Date you could change fields of the classes in this package, which are meant to be immutable.