作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
很高兴听到有关如何改进/缩短此方法的建议。简而言之,需要:
- (NSDate*)DateFromNextWeekDay:(NSInteger)weekDay FromDate:(NSDate*)fromDate {
// Returns the next week day, as specified by "weekDay", from the specified "fromDate"
NSDate *fromDateMidday = [[NSDate date] dateBySettingHour:12 andMinute:0];
NSDate *dateCounter = [[fromDateMidday copy] dateByAddingTimeInterval:-86400]; // Take 1 day away, which will get incremented in the loop
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSInteger day;
do{
dateCounter = [dateCounter dateByAddingTimeInterval:86400];
unsigned units = NSWeekdayCalendarUnit;
NSDateComponents *components = [gregorian components:units fromDate:dateCounter];
day = [components weekday];
} while(day != weekDay);
[gregorian release];
return dateCounter;
}
最佳答案
您可以找到传入日期的星期几,从目标星期几中减去该日期,最后将该结果添加到传入日期中。无需遍历日期。因此它将是:
daysToAdd =(targetDayOfWeek-currentDayDayOfWeek)%7
修改减法的原因是要处理目标日期小于当前日期的情况(例如,星期六,您正在寻找星期二)。
关于iphone - 如何改进此“DateFromNextWeekDay:FromDate”方法代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372425/
很高兴听到有关如何改进/缩短此方法的建议。简而言之,需要: 查找星期几(例如星期三)与传递给该方法的内容匹配的下一个日期。 例如,给定日期(包括该给定日期)的下一个WED 下面的代码: - (NSDa
我是一名优秀的程序员,十分优秀!