Để cộng/trừ ngày vào đối tượng Date trong Swift, chúng ta sử dụng Calendar và DateComponents – cách an toàn, đúng chuẩn lịch (xử lý năm nhuận, múi giờ, DST...).
Ví dụ cơ bản
let today = Date()
print("Hôm nay: \(today)")
// Cộng 1 ngày
let tomorrow = Calendar.current.date(byAdding: .day, value: 1, to: today)!
print("Ngày mai: \(tomorrow)")
// Trừ 1 ngày
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: today)!
print("Hôm qua: \(yesterday)")
Kết quả (ví dụ)

Các thành phần có thể thêm/bớt
Tham số .day có thể thay bằng:
.year,.month,.weekOfYear.hour,.minute,.second,.nanosecond
Extension tiện lợi
extension Date {
func adding(days: Int) -> Date {
return Calendar.current.date(byAdding: .day, value: days, to: self)!
}
func adding(months: Int) -> Date {
return Calendar.current.date(byAdding: .month, value: months, to: self)!
}
}
// Sử dụng:
let nextWeek = Date().adding(days: 7)
let nextMonth = Date().adding(months: 1)
Lưu ý quan trọng
- Luôn dùng
Calendar.current(lịch của user) thay vì hardcode Gregorian. Date()trả về thời điểm hiện tại (UTC). Hiển thị cho user cầnDateFormattervớitimeZonevàlocalephù hợp.
! trong production.