Just so that i never waste any more time in my life on this, this goes here.. Swift 1.x
let date = NSDate() let calendar = NSCalendar.currentCalendar() let components = calendar.components(.CalendarUnitDay | .CalendarUnitMonth | .CalendarUnitYear, fromDate: date) let year = components.year let month = components.month let day = components.dayEvery changing depreciations and swift framework.. just making it more fun! ------ Updated 25th Dec. As pointed out by Joey in comment below this is not working anymore. Coincidently i was working on something similar just few minutes back, so here is the updated code. [We have to pass the values now as array.] Swift 2.x
let date = NSDate() let calendar = NSCalendar.currentCalendar() let components = calendar.components([.Day , .Month , .Year], fromDate: date) let year = components.year let month = components.month let day = components.day print(year) print(month) print(day)Swift 3.x
//As part of swift 3 apple has removed NS, making things simpler so //new code will be: let date = Date() let calendar = Calendar.current let year = calendar.component(.year, from: date) let month = calendar.component(.month, from: date) let day = calendar.component(.day, from: date)You can extract various date components using the variables provided here: https://developer.apple.com/reference/foundation/nsdatecomponents