import times const zeroTime = fromSeconds(0) proc format*(ti: TimeInterval, fmt: string): string = let info = getGMTime(fromSeconds(0) + ti) return info.format(fmt) proc `-`*(a, b: TimeInfo): TimeInterval = return seconds(cast[int](a.toTime - b.toTime)) proc `>`*(a, b: TimeInfo): bool = return a.toTime > b.toTime proc `<`*(a, b: TimeInfo): bool = return a.toTime < b.toTime proc `>=`*(a, b: TimeInfo): bool = return a.toTime >= b.toTime proc `<=`*(a, b: TimeInfo): bool = return a.toTime <= b.toTime proc `>`*(a, b: TimeInterval): bool = return (zeroTime + a) > (zeroTime + b) proc `<`*(a, b: TimeInterval): bool = return (zeroTime + a) < (zeroTime + b) proc `>=`*(a, b: TimeInterval): bool = return (zeroTime + a) >= (zeroTime + b) proc `<=`*(a, b: TimeInterval): bool = return (zeroTime + a) <= (zeroTime + b) proc cmp(a, b: TimeInfo): int = if b == a: return 0 elif b > a: return 1 else: return -1