2011-01-20 13 views

Respuesta

109
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEEE"]; 
NSString *dayName = [dateFormatter stringFromDate:yourDate]; 
[dateFormatter release]; 

Obtiene dayName en la localidad del usuario.

(marque Unicode standards para muestras de formatos de fecha)

+0

versiones diferentes de FYI IOS/macOS utilizan diferentes versiones del estándar Unicode; Encontré una tabla anterior en https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html – rakslice

+0

Estoy obteniendo una abreviación con esto: "Thu" – htafoya

3

Mirar a - [NSCalendar components: fromDate:].

Una fecha en sí misma no tiene un día, porque puede tener diferentes días en diferentes calendarios (gregoriano, chino, etc.).

EDITAR: en realidad, lo siento. Eso es lo que harías para obtener el día y trabajar con él programáticamente. Si solo desea mostrar el día, consulte NSDateFormatter.

+0

hago, gracias Ken –

0

Hay muchos recursos geniales para el procesamiento de fecha y hora; este es uno del que he aprendido en github.

14

lo encontré, la respuesta fue:

NSDate *now = [NSDate date]; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEEE"]; 
NSLog(@"%@",[dateFormatter stringFromDate:now]); 

Gracias

categoría
3

NSDate

+ (NSString *)dayNameWith0Monday:(NSInteger)index { 

    static NSDateFormatter * DateFormatter = nil; 
    if (DateFormatter == nil) { 
     DateFormatter = [[NSDateFormatter alloc] init]; 
     [DateFormatter setDateFormat:@"EEEE"]; 
     [DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
    } 

    NSDate * day = [NSDate dateWithTimeIntervalSince1970:((4 * 24 * 60 * 60) + (24 * 60 * 60 * index))]; 
    return [DateFormatter stringFromDate:day]; 
} 

0 siempre será Lunes ! en caso de que necesite tal comportamiento

+0

am I falta algo o no hay forma de que DateFormatter sea! = nil en un método de clase? – Andrespch

+0

posiblemente puede omitir DateFormatter = nil; –

0

@Jilouc respuesta en Swift:

let formatter = DateFormatter.init() 
formatter.dateFormat = "EEEE" 
let date = Date.init() //or any date 
let dayName = formatter.string(from: date) 
Cuestiones relacionadas