相关疑难解决方法(0)

如何获得Swift 3中的当前周数?

我想获取当前的周数并将其显示在我的应用中.网上有很多使用旧的WeekOfYearCalendarUnit的例子,它可以解决我的问题,但在真正的Apple时尚中,它已被弃用,并且没有提供替代方案.我设法将这个功能从今年几周的至少显示中删除.但不是现在的那个.

func weekYear(){

    let weekRange = NSCalendar.current.range(of: .weekOfYear, in: .yearForWeekOfYear, for: Date())

    print("\(weekRange?.count)")

}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在xcode 8.1中使用swift 3获取当前周数?

swift3

14
推荐指数
3
解决办法
7754
查看次数

如何检查 NSDate 是否在本周?

如何检查是否NSDate落在一年中的本周?我在下面尝试过,但上周的日期也符合"Date is in this week"条件。

- (NSInteger)thisW:(NSDate *)date
{
    NSCalendar *gregorian = [[NSCalendar alloc]
                             initWithCalendarIdentifier:NSGregorianCalendar];

    NSDateComponents *todaysComponents =
    [gregorian components:NSWeekCalendarUnit fromDate:[NSDate date]];

    NSUInteger todaysWeek = [todaysComponents weekday];


    NSDateComponents *otherComponents =
    [gregorian components:NSWeekCalendarUnit fromDate:date];

    NSUInteger datesWeek = [otherComponents weekday];
    NSLog(@"Date %@",date);
    if(todaysWeek==datesWeek){
        //NSLog(@"Date is in this week");
        return 1;
    }else if(todaysWeek+1==datesWeek){
        //NSLog(@"Date is in next week");
        return 2;
    } else {
        return 0;
    }

}
Run Code Online (Sandbox Code Playgroud)

objective-c nsdate ios

5
推荐指数
2
解决办法
2923
查看次数

从iOS sdk中获取日期

在我的应用程序,希望得到日(即Sunday,Monday等)之日起.

我的代码如下:

NSDate *currentDate = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];

    //ask for current week
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    comps=[calendar components:NSWeekCalendarUnit|NSYearCalendarUnit fromDate:currentDate];
    //create date on week start
    NSDate* weekstart=[calendar dateFromComponents:comps];

    //add 7 days
    NSMutableArray* week=[NSMutableArray arrayWithCapacity:7];
    for (int i=1; i<=7; i++) {
        NSDateComponents *compsToAdd = [[NSDateComponents alloc] init];
        compsToAdd.day=i;
        NSDate *nextDate = [calendar dateByAddingComponents:compsToAdd toDate:weekstart options:0];
        NSLog(@"%@",nextDate);  // date is 2013-06-30 18:30:00 +0000



        NSDateFormatter *myFormatter = [[NSDateFormatter alloc] init];
        [myFormatter setDateFormat:@"EEEE"]; // day, …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsdateformatter ios

1
推荐指数
3
解决办法
1万
查看次数

标签 统计

ios ×2

objective-c ×2

iphone ×1

nsdate ×1

nsdateformatter ×1

swift3 ×1