Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

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)
    }

}

実行結果
f:id:gupuru:20150104161109p:plain


ちなみに和暦を取得したい場合は、「・・・calendarIdentifier:NSGregorianCalendar」の部分を「・・・calendarIdentifier: NSJapaneseCalendar」に変更します。

  let calendar = NSCalendar(calendarIdentifier: NSJapaneseCalendar)!

実行結果
f:id:gupuru:20150104161501p:plain


「年」以外にも、「月」,「日」,「時」を取得したい場合は、この部分を・・・

  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)")

実行結果
f:id:gupuru:20150104162251p:plain

「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)

実行結果
f:id:gupuru:20150104163241p:plain
曜日の場合は、
1:日曜日
2:月曜日
3:火曜日
4:水曜日
5:木曜日
6:金曜日
7:土曜日
となっているようです。

これで、終わります。


参考サイト
[Swift]NSDateComponentで日付の各要素を取得 - Qiita
NSDateから曜日を取得する - ワテのブログ

Swiftは、まだまだ勉強中ですので、間違っているかもしれません。間違っていましたら、ご指摘をお願いしますm(_ _)m