1. ホーム
  2. iphone

[解決済み] NSDateの日、月、年を整数値で取得する方法は?

2023-01-21 03:29:58

質問

の日、月、年成分を取得したい。 NSDate の日、月、年を整数値で取得したいです。例えば、日付が1988年1月2日の場合、1、2、1988を別々に整数値で取得したいのです。iOSでこれを行うにはどうすればよいですか?私は同様の質問を見つけましたが、メソッドは descriptionWithCalendarFormat というメソッドは警告を出し、今では非推奨のようです。

どのように解決するのですか?

スウィフト

let components = NSCalendar.currentCalendar().components([.Day, .Month, .Year], fromDate: self)
let day = components.day
let month = components.month
let year = components.year

便宜上、これを NSDate を拡張し、タプルを返すようにすることができます。

extension NSDate: Comparable {

    var dayMonthYear: (Int, Int, Int) {
        let components = NSCalendar.currentCalendar().components([.Day, .Month, .Year], fromDate: self)
        return (components.day, components.month, components.year)
    }
}

あとは書くだけです。

let (day, month, year) = date.dayMonthYear

年号だけを取得したい場合などは、こう書けばよいでしょう。

let (_, _, year) = date.dayMonthYear