By: Diego Coronel, Roland Tepp
 Subpackages ceylon.time.internal.math
 Functions `gap` Source Code`shared [Value, Value]|[]Go to Tuple abbreviation [X,Y] means Tuple> gap([Value, Value]Go to Tuple abbreviation [X,Y] means Tuple> first, [Value, Value]Go to Tuple abbreviation [X,Y] means Tuple> second)given Value satisfies Comparable & Enumerable`Returns a tuple representing an exclusive gap between two disjoint ranges of ordinal values. Values in the tuple are returned always in their natural order regardless of their original ordering in the input tuples. If input ranges are overlapping, this function will return an empty value. Examples: ```assert(gap([1, 2], [5, 6]) == [3, 4]); assert(gap([6, 5], [1, 2]) == [3, 4]); assert(is Empty g = gap([1, 3], [2, 4])); ``` `gregorianDate` Source Code`shared Date gregorianDate(Integer year, Integer|Month month, Integer day)`Returns a gregorian calendar date according to the specified year, month and date values. Parameters: `year`Year number of the date `month`Month of the year `day`Day of month `intersect` Source Code`shared Boolean intersect(Value start, Value end, Value otherStart, Value otherEnd)given Value satisfies Comparable`Returns if two ranges has intersection. `overlap` Source Code`shared [Value, Value]|[]Go to Tuple abbreviation [X,Y] means Tuple> overlap([Value, Value]Go to Tuple abbreviation [X,Y] means Tuple> first, [Value, Value]Go to Tuple abbreviation [X,Y] means Tuple> second)given Value satisfies Enumerable & Comparable`Returns the inclusive overlap between two ordinal ranges. The range of the overlap will be returned in the natural order of the values regardless of their original order in input tuples. Examples: ```assert(overlap([1, 3], [2, 4]) == [2, 3]); assert(overlap([4, 2], [1, 3]) == [2, 3]); assert(is Empty o = overlap([1, 2], [3, 4])); ```
 Classes `AbstractDate` Source Code`shared abstract AbstractDate`Common behaviors for Date types. `GregorianDate` Source Code`shared GregorianDate`Default implementation of a gregorian calendar `GregorianDateTime` Source Code`shared GregorianDateTime`Default implementation of a gregorian calendar `GregorianZonedDateTime` Source Code`shared GregorianZonedDateTime`Default implementation of gregorian calendar thats makes use of a `TimeZone` for itÂ´s operations. This means that making some operations like plusDays takes into account the result Instant generated to reapply all the rules of the current TimeZone. `TimeOfDay` Source Code`shared TimeOfDay`Basic implementation of `Time` interface, representing an abstract time of day such as 10am or 3.20pm with a precision of milliseconds.