problema de un principiante, pero me preguntaba si alguien me podría ayudar con esto:Objective-C: convertir cadena de fecha en los días de la semana + mes nombre
necesito fijar cuatro cuerdas de acuerdo con una cadena que contiene una fecha determinada (por ejemplo, @ "7 abr 2011"):
- una cadena que tendrá el día de la semana (abreviado: lunes, martes, miércoles, jueves, viernes, sábado, domingo): por ejemplo,
@"Thu"
- una cadena que tomará el día, p.
@"7"
- una cadena que demorará el mes, p.
@"April"
- y una cadena que tomará el año, p.
@"2011"
Hasta ahora, he encontrado esto:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
NSDate *date = [NSDate dateWithTimeIntervalSinceReferenceDate:118800];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocale];
NSLog(@"Date for locale %@: %@",
[[dateFormatter locale] localeIdentifier], [dateFormatter stringFromDate:date]);
// Output:
// Date for locale en_US: Jan 2, 2001
Así que esto me daría una fecha determinada con formato. Me preguntaba, sin embargo, cómo puedo acceder a ciertas partes de esta fecha. Está el - (NSArray *) DaysSymbols, pero no tengo idea de cómo trabajar éste y la documentación es bastante frugal.
Cualquier sugerencia de los expertos en calendarios sería muy bienvenida.
EDIT:
supongo que esto es parte de la solución:
NSLocale *gbLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
NSString *gbFormatString = [NSDateFormatter dateFormatFromTemplate:@"EdMMM" options:0 locale:gbLocale];
NSLog(@"gbFormatterString: %@", gbFormatString);
// Output: gbFormatterString: EEE d MMM, e.g. Thu 7 Apr
Muchas gracias. Esto es realmente útil y muy apreciado. –
Solo otra cosa: ¿cómo puedo obtener la fecha de hoy? Es decir. en su ejemplo, es static date = [formatter dateFromString: @ "Apr 7, 2011"]; ¡Gracias por tu ayuda! –
NSDate date = [NSDate date]; le dará la fecha de hoy. En ese caso, no necesita el primer NSDateFormatter en el código anterior. – Jordan