import Foundation
// ---------------------------------------------------------
// Function: daysUntilChristmas
// Purpose : Calculate how many days remain until Christmas.
// ---------------------------------------------------------
func daysUntilChristmas() -> Int {
// Get today's date from the system
let today = Date()
let calendar = Calendar.current
// Extract the current year
let year = calendar.component(.year, from: today)
// Build a date for Christmas of the current year
// December = month 12
var christmasComponents = DateComponents(year: year, month: 12, day: 25)
var christmas = calendar.date(from: christmasComponents)!
// If Christmas already passed this year, calculate for next year
if today > christmas {
christmasComponents.year = year + 1
christmas = calendar.date(from: christmasComponents)!
}
// Calculate difference in days between today and Christmas
let diff = calendar.dateComponents([.day], from: today, to: christmas)
return diff.day ?? 0
}
let days = daysUntilChristmas()
print("Days until Christmas: \(days)")
/*
run:
Days until Christmas: 209
*/