【问题标题】:How to check whether a date belongs to this week or not in iOS?如何在iOS中检查日期是否属于本周?
【发布时间】:2017-05-04 09:36:35
【问题描述】:

您好,我有一个这样的日期字符串。11/14/2016。我要做的是检查它是否是

今天或本周或本月。我可以比较今天和月份。但是如何检查这个日期是否属于“本周”

请帮助我。 谢谢

【问题讨论】:

标签: ios objective-c nsstring nsdate


【解决方案1】:

试试下面的代码,

- (void)thisWeek:(NSDate *)date
{
    NSCalendar *gregorian = [[NSCalendar alloc]
                             initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *todaysComponents = [gregorian components:NSCalendarUnitWeekOfYear fromDate:[NSDate date]];
    NSUInteger todaysWeek = [todaysComponents weekOfYear];
    NSDateComponents *otherComponents = [gregorian components:NSCalendarUnitWeekOfYear fromDate:date];
    NSUInteger datesWeek = [otherComponents weekOfYear];

    //NSLog(@"Date %@",date);
    if(todaysWeek==datesWeek){
        NSLog(@"Date is in this week");
    }else if(todaysWeek+1==datesWeek){
        NSLog(@"Date is in next week");
    }

}

【讨论】:

    【解决方案2】:

    给定两个日期,

    NSDate *now = [NSDate date];
    NSDate *then = // some other date
    

    找出他们是否在同一周:

    BOOL sameWeek = [[NSCalendar currentCalendar] isDate:then equalToDate:now 
        toUnitGranularity:NSCalendarUnitWeekOfYear];
    

    该行以一周为单位询问它们是否“相等”,这意味着如果它们在同一周内,它们就“相等”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多