请帮帮我,我被困住了!
我正在尝试制作一个简单的日历应用程序,并且非常绝望。我需要给定年份的周数(52 或 53),并且我知道这个问题的答案是使用 initRecurrenceWithFrequency。但我无法让我的代码工作!!!!请帮忙。
/约翰
@阿里软件
非常感谢!
但是这个代码片段(如下)给了我 1 而不是 53。你知道为什么吗? 顺便说一句,我的模拟器设置状态公历,作为它的日历。 /约翰
NSDateComponents *comps = [NSDateComponents alloc];
[comps setDay:31];
[comps setMonth:12];
[comps setYear:year];
NSCalendar *usersCalendar =[[NSLocale currentLocale] objectForKey:NSLocaleCalendar];
NSDate *date = [usersCalendar dateFromComponents:comps];
NSDateComponents *weekComps =
[usersCalendar components:NSWeekCalendarUnit fromDate:date];
NSInteger totalNumberOfWeeksInThisYear = [weekComps week];
最佳答案
如果您需要知道给定日期是一年中的哪一周,或任何类似的信息(一年中的周数等),您应该使用 NSDateComponents
来实现。
你真的应该阅读 Date and Time Programming Guide 在苹果文档中。它解释了有关日期、日历和日期组件的所有内容、概念和微妙之处(闰年等)、与日期和日历相关的 Cocoa 类如何相互作用以及如何使用它们。
它非常详细(事实上,就像 Apple 文档中的每个编程指南一样),如果不阅读此文档,您就无法真正考虑创建日历应用程序。
(顺便说一句,我不明白您对一年中的几周的疑问与 EKRecurrenceRule
的 initRecurrenceWithFrequency
方法有什么关系?!!)
关于ios - 如何使用 iOS 的 initRecurrenceWithFrequency 获取 NSInteger(52 或 53)形式的weeksOfTheYear?我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416182/