Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS中尝试确定月的当前日期是否在月初_Ios_Nsdate_Nsdatecomponents - Fatal编程技术网

在iOS中尝试确定月的当前日期是否在月初

在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

我有以下方法可以帮助我确定当前日期是从月底算起的3天以内:

- (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部分-如果