Swift 現在日時を取得する NSDateComponent
今回は、swiftで、現在の日時を取得する方法を書きます。
まず、始めに現在の年を取得します。
このように書きます。
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let date = NSDate() let calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)! let comps: NSDateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit, fromDate: date) println(comps.year) } }
実行結果
ちなみに和暦を取得したい場合は、「・・・calendarIdentifier:NSGregorianCalendar」の部分を「・・・calendarIdentifier: NSJapaneseCalendar」に変更します。
let calendar = NSCalendar(calendarIdentifier: NSJapaneseCalendar)!
実行結果
「年」以外にも、「月」,「日」,「時」を取得したい場合は、この部分を・・・
let comps: NSDateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit, fromDate: date)
このような感じに変更します。↓↓
let comps: NSDateComponents = calendar.components(NSCalendarUnit.YearCalendarUnit|NSCalendarUnit.MonthCalendarUnit|NSCalendarUnit.DayCalendarUnit|NSCalendarUnit.HourCalendarUnit|NSCalendarUnit.MinuteCalendarUnit|NSCalendarUnit.SecondCalendarUnit, fromDate: date) println("年 \(comps.year)") println("月 \(comps.month)") println("日 \(comps.day)") println("時 \(comps.hour)") println("分 \(comps.minute)") println("秒 \(comps.second)")
実行結果
「NSCalendarUnit.〜」のそれぞれは、
NSCalendarUnit.YearCalendarUnit ・・・「年」 NSCalendarUnit.MonthCalendarUnit ・・・「月」 NSCalendarUnit.DayCalendarUnit ・・・「日」 NSCalendarUnit.HourCalendarUnit ・・・「時」 NSCalendarUnit.MinuteCalendarUnit ・・・「分」 NSCalendarUnit.SecondCalendarUnit ・・・「秒」
となっています。
他にも、「曜日」,「一年の何週目」,「第何四半期」なども取得できます。
ちなみに「曜日」を取得するには、このように書きます。
let date = NSDate() let calendar = NSCalendar(calendarIdentifier: NSJapaneseCalendar)! let comps: NSDateComponents = calendar.components(NSCalendarUnit.WeekdayCalendarUnit,fromDate: date) println(comps.weekday)
実行結果
曜日の場合は、
1:日曜日
2:月曜日
3:火曜日
4:水曜日
5:木曜日
6:金曜日
7:土曜日
となっているようです。
これで、終わります。
参考サイト
[Swift]NSDateComponentで日付の各要素を取得 - Qiita
NSDateから曜日を取得する - ワテのブログ
※Swiftは、まだまだ勉強中ですので、間違っているかもしれません。間違っていましたら、ご指摘をお願いしますm(_ _)m