nsdateformatter用于西班牙语(如西班牙语)的特定语言



我的应用程序是2语言,一种是英语,另一种是西班牙语。现在,我从服务器收到时间戳,需要在" MMM DD,Yyyy"配件中显示日期。这给了我" 2017年12月23日",但是当我将其转换为西班牙语时,我需要用西班牙语显示月份。您能建议我是否以西班牙语指定12个月的名称为简短表格,或者NSDateFormatter具有此类选项。

  NSDate *date = [dateFormatter dateFromString:[[[webserviceDict valueForKey:@"CurrentWeekEarning"]objectAtIndex:i-1]valueForKey:@"date"]];
                        [dateFormatter setDateFormat:@"MMM dd, yyyy"];
                        strTitle = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:date]];

只需设置环境并创建一个格式从模板(设置正确的排序):

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [NSLocale localeWithLocaleIdentifier:@"es"];
[formatter setLocalizedDateFormatFromTemplate:@"yyyyMMMdd"];
NSString *localizedDate = [formatter stringFromDate:[NSDate date]];
NSLog(@"Localized date: %@", localizedDate); // 26 dic 2017

无需手动添加逗号或其他分离器。他们也取决于语言。

使用预定义格式可以实现同样的方法:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [NSLocale localeWithLocaleIdentifier:@"es"];
formatter.timeStyle = NSDateFormatterNoStyle;
formatter.dateStyle = NSDateFormatterMediumStyle;

swift 5.2示例,设置西班牙语" es_es" locale:

let today = Date()
let formatter = DateFormatter()
formatter.dateStyle = .long
formatter.locale = .init(identifier: "es_ES")
self.dateString = formatter.string(from: today)

对于您需要设置的特定语言

nsdateFormatter *formatter = [[[nsdateformatter alloc] init];

[formatter setDatesty:style];

[formatter setDateFormat:@" mmm dd,yyyy"];

nsdate *temp = [formatter datefromstring:strdate];

[formatter setDateFormat:format];

[formatter setLocale:[nslocale currentlocale]];

相关内容

最新更新