Time.swift

//
//  Time.swift
//  SeatNinjaBase
//
//  Created by odyth on 12/15/16.
//  Copyright © 2016 SeatNinja Inc. All rights reserved.
//

import Foundation

public struct Time
{
    public static let oneMinute: Double = 60
    public static let fifteenMinutes: Double = 900
    public static let oneHour: Double = 3600
    public static let oneDay: Double = 86400
    public static let oneWeek: Double = 604800
    public static let twoWeek: Double = 1209600
    public static let oneMonth: Double = 2678400
    public static let oneYear: Double = 31557600
    
    public static let ticksPerMillisecond: Int64 =  10000
    public static let millisecondsPerTick: Double = 1.0 / Double(ticksPerMillisecond)
    
    public static let ticksPerSecond: Int64 = ticksPerMillisecond * 1000
    public static let secondsPerTick: Double =  1.0 / Double(ticksPerSecond)
    
    public static let ticksPerMinute: Int64 = ticksPerSecond * 60
    public static let minutesPerTick: Double = 1.0 / Double(ticksPerMinute)
    
    public static let ticksPerHour: Int64 = ticksPerMinute * 60
    public static let hoursPerTick: Double = 1.0 / Double(ticksPerHour)
    
    public static let ticksPerDay: Int64 = ticksPerHour * 24
    public static let daysPerTick: Double = 1.0 / Double(ticksPerDay)
    
    public static let millisPerSecond: Int = 1000
    public static let millisPerMinute: Int = millisPerSecond * 60
    public static let millisPerHour: Int = millisPerMinute * 60
    public static let millisPerDay: Int = millisPerHour * 24
    
    public static let maxSeconds: Int64 = Int64.max / ticksPerSecond
    public static let minSeconds: Int64 = Int64.min / ticksPerSecond
    
    public static let maxMilliSeconds: Int64 = Int64.max / ticksPerMillisecond
    public static let minMilliSeconds: Int64 = Int64.min / ticksPerMillisecond
    
    public static let ticksPerTenthSecond: Int64 = ticksPerMillisecond * 100
}