如何使用NSDate获取星期几并在iOS中使用NSLog进行演示?

ima*_*lve 8 objective-c

可能重复:
目标C - 如何从NSDate获得工作日?

如何使用NSDate获取星期几并使用NSLog显示?

我想知道今天,比如今天.

例如:NSLog(@"当天是:",天)
回复:"这一天是:星期一"

tro*_*ove 21

NSDateFormatter* day = [[NSDateFormatter alloc] init];
[day setDateFormat: @"EEEE"];
NSLog(@"the day is: %@", [day stringFromDate:[NSDate date]]);
Run Code Online (Sandbox Code Playgroud)


Ric*_*III 16

使用NSDateComponents:

static inline NSString *stringFromWeekday(int weekday)
{
    static NSString *strings[] = {
        @"Sunday",
        @"Monday",
        @"Tuesday", 
        @"Wednesday",
        @"Thursday",
        @"Friday",
        @"Saturday",
    };

    return strings[weekday - 1];
}


NSDateComponents *components = [[NSCalendar currentCalendar] components:NSWeekdayCalendarUnit fromDate:[NSDate date]];

NSLog(@"%@", stringFromWeekday([components weekday]));
Run Code Online (Sandbox Code Playgroud)

当然,这不尊重语言环境等.

  • 不要对工作日名称进行硬编码.你可以从`NSDateFormatter weekdaySymbols`获得它们. (4认同)