【发布时间】:2015-08-21 10:41:18
【问题描述】:
我有一个函数,它根据月份和年份返回一组周数。
代码如下:
let calendar = NSCalendar.currentCalendar()
let weekRange = calendar.rangeOfUnit(NSCalendarUnit.CalendarUnitWeekOfYear, inUnit: .CalendarUnitMonth, forDate: NSDate())
weekArray = Array(weekRange.location..<weekRange.location + weekRange.length)
示例:对于 2015-08-21,它将返回 [31, 32, 33, 34, 35, 36],这是正确的,因为 this website。
它工作正常但我发现一个错误如果我通过这个日期“2016-01-01”它返回 [1, 2, 3, 4, 5] 但正确的数组应该是 [53(从 2015 年开始) , 1, 2, 3, 4] (再次检查this website)。
如该网站所述:
一年的第一周 (WN 1) 是包含 1 月 4 日或一年中的第一个星期二的那一周。
所以,我必须写一些计算才能使它起作用?还是有更简单的解决方案?感谢您的帮助。
【问题讨论】:
标签: ios swift nscalendar week-number