TimeOfDay.swift 532 B

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