1. ホーム
  2. swift

swift を使って、指定された月と年の日数を求めるにはどうすればよいですか?

2023-09-13 11:55:20

質問

指定された月と年の総日数を求めたい。 例 私は年= 2015、月= 7の合計日数を見つけたい。

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

まず NSDate を作成します。

let dateComponents = NSDateComponents()
dateComponents.year = 2015
dateComponents.month = 7

let calendar = NSCalendar.currentCalendar()
let date = calendar.dateFromComponents(dateComponents)!

次に rangeOfUnit() メソッドで説明されているように iPhone SDKを使用した当月の日数? :

// Swift 2:
let range = calendar.rangeOfUnit(.Day, inUnit: .Month, forDate: date)
// Swift 1.2:
let range = calendar.rangeOfUnit(.CalendarUnitDay, inUnit: .CalendarUnitMonth, forDate: date)

let numDays = range.length
print(numDays) // 31

Swift 3 (Xcode 8)に対応したアップデートを行いました。

let dateComponents = DateComponents(year: 2015, month: 7)
let calendar = Calendar.current
let date = calendar.date(from: dateComponents)!

let range = calendar.range(of: .day, in: .month, for: date)!
let numDays = range.count
print(numDays) // 31