TimeOfDay.swift 487 B

123456789101112131415161718192021
  1. // LoopFollow
  2. // TimeOfDay.swift
  3. import Foundation
  4. /// A time‐of‐day independent of any date
  5. struct TimeOfDay: Codable, Equatable {
  6. let hour: Int // 0…23
  7. let minute: Int // 0…59
  8. /// total minutes since midnight
  9. var minutesSinceMidnight: Int { hour * 60 + minute }
  10. init(hour: Int, minute: Int) {
  11. precondition((0 ... 23).contains(hour))
  12. precondition((0 ... 59).contains(minute))
  13. self.hour = hour
  14. self.minute = minute
  15. }
  16. }