我使用以下方法从 NSDate 获取周数:
[[calendar components: NSWeekCalendarUnit fromDate:date] week]
不幸的是,我在不同的 iOS 版本中得到不同的值。 iOS 4.* 和 5 返回的值相差 1。是否有任何方法可以一致地检索周数?
最佳答案
自从 iOS5 NSCalender dosent 似乎被定义为默认的 ISO 8601。 您需要使用方法“setMinimumDaysInFirstWeek”设置您的日历以获得预期的周数结果。
[yourCalender setMinimumDaysInFirstWeek:4];
在这种情况下,“4”表示星期四。
http://en.wikipedia.org/wiki/ISO_week_date “一年的第一周是包含该年第一个星期四的那一周。”
我不知道为什么它在 iOS5 中没有定义为默认的“4”。我猜只是那些奇怪的“错误”之一;)
是的,这将适用于 iOS 4 和 5。
关于iphone - 如何在所有 iOS 版本中一致地从 NSDate 获取周数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037897/