Nsdateformatter 用于特定语言,如西班牙语
Nsdateformatter for specific language like Spanish
我的申请使用两种语言,一种是英语,另一种是西班牙语。现在我从服务器收到时间戳,我需要在 "MMM dd, yyyy" 格式中显示日期。
这给了我 "Dec 23, 2017" 但是当我将它转换成西班牙语时,我需要用西班牙语显示月份名称。
你能建议我用西班牙语指定 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];
[格式化程序 setDateStyle:style];
[格式化程序 setDateFormat:@"MMM dd, yyyy"];
NSDate *temp= [格式化程序 dateFromString:strDate];
[格式化程序 setDateFormat:format];
[格式化程序 setLocale:[NSLocale currentLocale]];
只需设置语言环境并从模板创建格式(以设置正确的顺序):
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)
我的申请使用两种语言,一种是英语,另一种是西班牙语。现在我从服务器收到时间戳,我需要在 "MMM dd, yyyy" 格式中显示日期。 这给了我 "Dec 23, 2017" 但是当我将它转换成西班牙语时,我需要用西班牙语显示月份名称。 你能建议我用西班牙语指定 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];
[格式化程序 setDateStyle:style];
[格式化程序 setDateFormat:@"MMM dd, yyyy"];
NSDate *temp= [格式化程序 dateFromString:strDate];
[格式化程序 setDateFormat:format];
[格式化程序 setLocale:[NSLocale currentLocale]];
只需设置语言环境并从模板创建格式(以设置正确的顺序):
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)