使用本周和周末在 2 个 NSDates 之间签到
Posted
技术标签:
【中文标题】使用本周和周末在 2 个 NSDates 之间签到【英文标题】:Using this week and weekend to check in between 2 NSDates 【发布时间】:2011-05-16 03:13:32 【问题描述】:我作业的 NSDate 部分要求我根据用户选择的类别显示事件。类别是 - 今天、本月、本周和本周末。我已经完成了“今天”和“本月”,而我在其他两个方面遇到了麻烦。基本上我对每个事件都有一个日期范围(例如 fromDate = 03-04-2011 ,toDate = 03-11-2011)。我想做的是检查本周和本周末是否在日期范围之间。我用谷歌搜索了资源,但找不到我需要的东西。我知道我必须使用 NSCalendar,但我不知道该怎么做。
Detecting if NSDate contains a weekend day
^ 答案似乎是我正在寻找的,但我不知道如何使用它。对此或任何其他解决方案的任何帮助将不胜感激。谢谢
【问题讨论】:
【参考方案1】:- (BOOL)checkForWeekend:(NSDate *)aDate
BOOL isWeekendDate = NO;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSRange weekdayRange = [calendar maximumRangeOfUnit:NSWeekdayCalendarUnit];
NSDateComponents *components = [calendar components:NSWeekdayCalendarUnit fromDate:aDate];
NSUInteger weekdayOfDate = [components weekday];
if (weekdayOfDate == weekdayRange.location || weekdayOfDate == weekdayRange.length)
// The date falls somewhere on the first or last days of the week.
isWeekendDate = YES;
return isWeekendDate;
用法:
BOOL isWeekend = [self checkForWeekend:[NSDate date]]; // Any date can be passed here.
if (isWeekend)
NSLog(@"Weekend date! Yay!");
【讨论】:
感谢详细的回复!有没有办法获得本周末的 NSDate?我需要将日期与我的活动日期进行比较,以检查它们是否介于两者之间。以上是关于使用本周和周末在 2 个 NSDates 之间签到的主要内容,如果未能解决你的问题,请参考以下文章