Да покажем дата на български в iOS

За да покажем датата на български (или на произволен друг език) без да се съобразяваме с настройките на потребителя, можем да използваме NSDateFormatter ето така:

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"EEEE H:mm"];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"bg_BG"] autorelease]];
NSString *myDate = [dateFormatter stringFromDate:myDbObject.date];

След като го изпълним, получаваме нещо такова:

неделя 9:32

За друг език просто трябва да сменим bg_BG със съответния низ за желания език. В кода съм използвал за входна дата датата, записана в полето date на обекта myDbObject, която е от тип NSDate. Ако решим, можем да използваме текуща дата с [NSDate dateWithTimeIntervalSinceNow:0]. Освен това в кода използваме EEEE, което ни връща пълното име на ден от седмицата. Ако вместо това напишем EEE, ще получим съкратен вариант на същото (напр. нед вместо неделя). Списък на всички възможни форматиращи низове можем да намерим тук.