如何获得一年中的月份数?
我想要一个函数,它将返回当前一个月的当前一周数组。
例如,如果当前月份是2015年8月,则会返回[32,33,34,35,36]。 如果月份是2015年2月,则会返回[6,7,8,9]。
有没有办法,我怎么能得到这个?
在苹果文档NSCalendar类有一个选项来获得本年的数量,但这不是我所需要的。
如前所述, NSCalendar
有一个方法rangeOfUnit:inUnit:forDate:
适当的日历单位是CalendarUnitWeekOfYear
和CalendarUnitMonth
对于语言环境和星期设置的第一个工作日,结果可能会有所不同。
let calendar = NSCalendar.currentCalendar() let weekRange = calendar.rangeOfUnit(NSCalendarUnit.CalendarUnitWeekOfYear, inUnit: .CalendarUnitMonth, forDate: NSDate()) let weekArray = Array(weekRange.location..<weekRange.location + weekRange.length)
Swift 3:
let calendar = NSCalendar.current let weekRange = calendar.range(of: .weekOfYear, in: .month, for: Date())
NSCalendar不会直接给出任何API来获取一个月内的周数。 你必须解决NSDateComponents和NSDate。
我可以给你提示,但正如史蒂夫所build议的,你需要先自己尝试一下。
尝试得到一个范围,看看NSCalendar的方法rangeOfUnit:inUnit:想想,你如何使用这种方法来获得你想要的输出。