2012-03-26 18 views

回答

20
NSDateFormatter* day = [[NSDateFormatter alloc] init]; 
[day setDateFormat: @"EEEE"]; 
NSLog(@"the day is: %@", [day stringFromDate:[NSDate date]]); 
+0

oK,謝謝! – imalve 2012-03-26 15:25:46

+0

嗨, 我該如何把這個值放在一個變量中?我想使用一個if,例如:if(day ==「monday」){...} – imalve 2012-03-26 18:27:16

+0

NSString * dayString = [day stringFromDate:[NSDate date]]; – tronbabylove 2012-03-26 18:54:26

15

使用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])); 

當然,這不尊重地區&等。

+0

感謝您的支持。 – imalve 2012-03-26 15:26:07

+3

請勿星期幾名稱硬編碼。你可以從'NSDateFormatter weekdaySymbols'獲取它們。 – rmaddy 2015-05-20 21:51:12

0
NSLog(@"the day is: %@", [[NSDate date] descriptionWithCalendarFormat:@"%A" timeZone:nil locale:nil]); 
+0

不適用於iOS 9及以上版本 – Suhaib 2016-10-05 03:37:25