De acuerdo. El problema que tenemos es que tenemos NSStrings llenos con las fechas en el formato de aaaamMMdd 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 botones-títulos de inglés a sueco meses.¿Cómo obtengo Weekday y/o el nombre del mes de una variable NSDate?
nuestra solución actual es el aspecto de esto:
-(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 para ser utilizado por las directrices relativas a la no Manzanas api público. Entonces, la pregunta principal es, ¿qué otra forma hay para salir del día de la semana y el nombre del mes de nuestras cadenas de fechas que contienen fechas con el formato aaaaMMdd?
gracias. Funciona como un encanto, aunque la primera letra de todos los días/meses no es en mayúscula, pero ese es un problema muy leve para nosotros ATM :) – doge
'[string capitalizedString]' ... corregido! –
Gracias funcionó para mí ..... +1 para usted – Sabby