Date.swift 704 B

1234567891011121314151617181920212223242526272829
  1. //
  2. // NSDate.swift
  3. // Naterade
  4. //
  5. // Created by Nathan Racklyeft on 1/17/16.
  6. // Copyright © 2016 Nathan Racklyeft. All rights reserved.
  7. //
  8. import Foundation
  9. public extension Date {
  10. func dateFlooredToTimeInterval(_ interval: TimeInterval) -> Date {
  11. if interval == 0 {
  12. return self
  13. }
  14. return Date(timeIntervalSinceReferenceDate: floor(self.timeIntervalSinceReferenceDate / interval) * interval)
  15. }
  16. func dateCeiledToTimeInterval(_ interval: TimeInterval) -> Date {
  17. if interval == 0 {
  18. return self
  19. }
  20. return Date(timeIntervalSinceReferenceDate: ceil(self.timeIntervalSinceReferenceDate / interval) * interval)
  21. }
  22. }