我怎样才能知道是否NSDate
是工作日吗?也就是说,根据用户当前的区域设置和日历设置是否是周末 - 所以不硬编码为周一到周五?
NSCalendar
has a firstWeekday
财产,但这似乎只是一种表象;美国是周日,英国是周一。
编辑:我不担心假期,我只是希望能够以与内置日历应用程序相同的方式遮盖日历的周末。
iOS 8 及更高版本的更新:
NSCalendar
现在包含方法- (BOOL)isDateInWeekend:(NSDate *)日期 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSCalendar_Class/#//apple_ref/occ/instm/NSCalendar/isDateInWeekend:
它检查日期是否属于特定日历和区域设置中的周末。
旧答案
如果你只需要周末遮阳,[NSDateComponents weekday]
是你的朋友。此方法将在周日返回 1,在周六返回 7。
事实:大多数申请都假设周末=周六和周日。据我所知,这对于所有使用公历的国家都是正确的。覆盖所有其他日历的唯一可能性是每个日历/区域设置有一个本地数据库并监视更改。如果发生此类更改,则需要更新应用程序或必须下载新数据。
如果我们谈论的是工作日(不仅仅是周末),那么我们谈论的是
- 没有明确的定义(什么是工作日因公司而异)
- 没有规范(例如 - 日期格式、时区等,有国际公认的规范)
- 经常被当地法律更改(例如添加假期)
您需要的是让用户根据他们的国籍和雇主的个人需求来设置您的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)