¿Cómo obtengo el día de la semana y / o el nombre del mes de una variable NSDate?
Bien. El problema que tenemos es que tenemos NSStrings llenos de fechas en el formato aaaaMMdd y lo que queremos hacer es obtener el día de la semana actual y el nombre del mes. La función dagOmvandlare convierte la cadena de fechas en día de la semana y mes. La función se llama en viewDidload para nombrar todos nuestros títulos de botones del inglés al sueco.
nuestra solución actual se ve así:
-(NSString *)dagOmvandlare:(id) suprDatum{
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
dateFormatter.dateFormat = @"yyyyMMdd";
NSDate *date = [dateFormatter dateFromString:suprDatum];
NSString * monthString = [date descriptionWithCalendarFormat:@"%B"timeZone:nil
locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
if ([monthString isEqualToString:@"January"]) {
monthString = @"Januari";
}
else
if ([monthString isEqualToString:@"February"]) {
monthString = @"Februari";
}
else
if ([monthString isEqualToString:@"May"]) {
monthString = @"Maj";
}
else
if ([monthString isEqualToString:@"June"]) {
monthString = @"Juni";
}
else
if ([monthString isEqualToString:@"July"]) {
monthString = @"Juli";
}
else
if ([monthString isEqualToString:@"August"]) {
monthString = @"Augusti";
}
else
if ([monthString isEqualToString:@"October"]) {
monthString = @"Oktober";
}
else
if ([monthString isEqualToString:@"March"]) {
monthString = @"Mars";
}
return monthString;
}
- (void)viewDidLoad {
[super viewDidLoad];
[button3 setTitle:(NSString *)[self dagOmvandlare:self.datum1] forState:UIControlStateNormal];
[button2 setTitle:(NSString *)[self dagOmvandlare:self.datum2] forState:UIControlStateNormal];
[bmanad1 setTitle:(NSString *)[self dagOmvandlare:self.datum3] forState:UIControlStateNormal];
}
Y lo que hemos descubierto hasta ahora es que la
NSString * monthString = [date descriptionWithCalendarFormat:@"%B"timeZone:nil
locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];
no está permitido ser utilizado por las pautas de Apple con respecto a las API no públicas. Entonces, la pregunta principal es, ¿qué otra manera hay para obtener el día de la semana y el nombre del mes de nuestras cadenas de fechas que contienen fechas con el formato aaaaMMdd?