2012-03-26 20 views

Respuesta

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

oK, ¡Gracias! – imalve

+0

Hola, ¿cómo pongo este valor en una variable? Quiero usar un if, por ejemplo: if (day == "lunes") {...} – imalve

+0

NSString * dayString = [day stringFromDate: [NSDate date]]; – tronbabylove

15

Uso 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])); 

Por supuesto, esto no respeta los locales & tales.

+0

gracias por esto .. – imalve

+3

No codificar los nombres de los días de la semana. Puedes obtenerlos de 'NSDateFormatter weekdaySymbols'. – rmaddy

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

No funciona con iOS 9 y superior – Suhaib

Cuestiones relacionadas