年、月、日等の日付に関する各要素を一つ一つで取り出したいときはNSDateComponentを使います。
##コード
let date = NSDate()
let calendar = NSCalendar(identifier: NSGregorianCalendar)
//和暦を使いたいときはidentifierにはNSJapaneseCalendarを指定
//let calendar = NSCalendar(identifier: NSJapaneseCalendar)
var comps:NSDateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit|NSCalendarUnit.MonthCalendarUnit|NSCalendarUnit.DayCalendarUnit|NSCalendarUnit.HourCalendarUnit|NSCalendarUnit.MinuteCalendarUnit|NSCalendarUnit.SecondCalendarUnit,
fromDate: date)
var year = comps.year
var month = comps.month
var day = comps.day
var hour = comps.hour
var minute = comps.minute
var second = comps.second
println("\(year)/\(month)/\(day)/\(hour)/\(minute)/\(second)")
println("\(year)")
println("\(month)")
println("\(day)")
println("\(hour)")
println("\(minute)")
println("\(second)")
##出力結果
2014/7/28/17/23/59
2014
7
28
17
23
59
##まとめ
Objective-Cの頃は
NSCalendarUnit.YearCalendarUnit
を
NSYearCalendarUnit
と書いていました。
この書き方の違いがあり、最初にcalendar.componentsを指定する時に少し詰まりました。
時間関係の他に、
・曜日
・一年の何週目か
・第何四半期か
・今月の何週目か
などの要素も取り出せます。