Skip to content

Instantly share code, notes, and snippets.

@vialyx
Last active September 17, 2018 16:53
Show Gist options
  • Save vialyx/6aaa3770677adc4d74e14d0937fcdd70 to your computer and use it in GitHub Desktop.
Save vialyx/6aaa3770677adc4d74e14d0937fcdd70 to your computer and use it in GitHub Desktop.
extension Date {
func add(_ unit: Calendar.Component, value: Int) -> Date {
return Calendar.current.date(byAdding: unit, value: value, to: self)!
}
func add(year: Int) -> Date {
return add(.year, value: year)
}
func add(month: Int) -> Date {
return add(.month, value: month)
}
func add(day: Int) -> Date {
return add(.day, value: day)
}
func add(minute: Int) -> Date {
return add(.minute, value: minute)
}
func add(hour: Int) -> Date {
return add(.hour, value: hour)
}
}
let startDate = Date() // Sep 17, 2018 at 7:52 PM
let plusOneHour = startDate.add(hour: 1) // Sep 17, 2018 at 8:52 PM
let minusYear = startDate.add(year: -1) // Sep 17, 2017 at 7:52 PM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment