Một lao động thực hiện Swift 3+ dựa trên highmaintenance của câu trả lời và vikingosegundo của nhận xét. Tiện ích mở rộng Ngày này cũng có các tùy chọn bổ sung để thay đổi năm, tháng và thời gian:
extension Date {
/// Returns a Date with the specified amount of components added to the one it is called with
func add(years: Int = 0, months: Int = 0, days: Int = 0, hours: Int = 0, minutes: Int = 0, seconds: Int = 0) -> Date? {
let components = DateComponents(year: years, month: months, day: days, hour: hours, minute: minutes, second: seconds)
return Calendar.current.date(byAdding: components, to: self)
}
/// Returns a Date with the specified amount of components subtracted from the one it is called with
func subtract(years: Int = 0, months: Int = 0, days: Int = 0, hours: Int = 0, minutes: Int = 0, seconds: Int = 0) -> Date? {
return add(years: -years, months: -months, days: -days, hours: -hours, minutes: -minutes, seconds: -seconds)
}
}
Việc sử dụng chỉ thêm một ngày theo yêu cầu của OP sau đó sẽ là:
let today = Date() // date is then today for this example
let tomorrow = today.add(days: 1)