在iOS中尝试确定月的当前日期是否在月初
我有以下方法可以帮助我确定当前日期是从月底算起的3天以内:在iOS中尝试确定月的当前日期是否在月初,ios,nsdate,nsdatecomponents,Ios,Nsdate,Nsdatecomponents,我有以下方法可以帮助我确定当前日期是从月底算起的3天以内: - (BOOL) checkMonthEnd { NSDate *now = [NSDate date]; NSCalendar *cal = [NSCalendar currentCalendar]; NSDate *startOfToday; [cal rangeOfUnit:NSCalendarUnitDay startDate:&startOfToday interval:NULL fo
- (BOOL) checkMonthEnd {
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *startOfToday;
[cal rangeOfUnit:NSCalendarUnitDay startDate:&startOfToday interval:NULL forDate:now];
NSDate *startOfNextMonth = ({
NSDate *startOfThisMonth;
NSTimeInterval lengthOfThisMonth;
[cal rangeOfUnit:NSCalendarUnitMonth startDate:&startOfThisMonth interval:&lengthOfThisMonth forDate:now];
[startOfThisMonth dateByAddingTimeInterval:lengthOfThisMonth];
});
NSDateComponents *comp = [cal components:NSCalendarUnitDay fromDate:startOfToday toDate:startOfNextMonth options:0];
if (comp.day < 4) {
return YES;
} else {
return NO;
}
}
-(BOOL)checkMonthEnd{
NSDate*现在=[NSDate日期];
NSCalendar*cal=[NSCalendar当前日历];
NSDate*今天开始;
[cal rangeOfUnit:NSCalendarUnitDay startDate:&StartTofToDay间隔:空forDate:now];
NSDate*startOfNextMonth=({
NSDate*本月开始;
n第二个月的时间间隔长度;
[cal rangeOfUnit:NSCalendarUnitMonth startDate:&StartOfThis Month interval:&LengthofThis Month forDate:now];
[通过添加时间间隔开始本月日期:本月的长度];
});
NSDateComponents*comp=[cal components:NSCalendarUnitDay fromDate:StartToToToToDate:StartToNextMonth选项:0];
如果(公司日<4){
返回YES;
}否则{
返回否;
}
}
我现在要做的是修改它,以便它显示当前日期是否在本月初的前三天内。如何执行此操作?要确定它是否是一个月的前三天之一,只需检索
NSCalendarUnitDay
并查看它是否小于4:
- (BOOL) checkMonthStart {
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:NSCalendarUnitDay fromDate:now];
return components.day < 4;
}
-(BOOL)checkMonthStart{
NSDate*现在=[NSDate日期];
NSCalendar*cal=[NSCalendar当前日历];
NSDateComponents*components=[cal components:NSCalendarUnitDay fromDate:now];
返回时间<4天;
}
顺便说一句,如果检查您是否在月底的三天内,我可能会建议:
- (BOOL) checkMonthEnd {
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:NSCalendarUnitDay fromDate:now];
NSRange range = [cal rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:now];
return (range.length - components.day) < 3;
}
-(BOOL)checkMonthEnd{
NSDate*现在=[NSDate日期];
NSCalendar*cal=[NSCalendar当前日历];
NSDateComponents*components=[cal components:NSCalendarUnitDay fromDate:now];
NSRange range=[cal rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:now];
返回(范围.长度-组件.天)<3;
}
要确定它是否是一个月的前三天之一,只需检索NSCalendarUnitDay
并查看它是否小于4:
- (BOOL) checkMonthStart {
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:NSCalendarUnitDay fromDate:now];
return components.day < 4;
}
-(BOOL)checkMonthStart{
NSDate*现在=[NSDate日期];
NSCalendar*cal=[NSCalendar当前日历];
NSDateComponents*components=[cal components:NSCalendarUnitDay fromDate:now];
返回时间<4天;
}
顺便说一句,如果检查您是否在月底的三天内,我可能会建议:
- (BOOL) checkMonthEnd {
NSDate *now = [NSDate date];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *components = [cal components:NSCalendarUnitDay fromDate:now];
NSRange range = [cal rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:now];
return (range.length - components.day) < 3;
}
-(BOOL)checkMonthEnd{
NSDate*现在=[NSDate日期];
NSCalendar*cal=[NSCalendar当前日历];
NSDateComponents*components=[cal components:NSCalendarUnitDay fromDate:now];
NSRange range=[cal rangeOfUnit:NSCalendarUnitDay inUnit:NSCalendarUnitMonth forDate:now];
返回(范围.长度-组件.天)<3;
}
日历月还是该月的前三个工作日?第一个——看看日期的日期部分——是日历月还是一个月的前三个工作日?第一个-只要看看日期的day部分-如果