Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 特定语言(如西班牙语)的Nsdateformatter_Ios_Objective C_Nsdateformatter - Fatal编程技术网

Ios 特定语言(如西班牙语)的Nsdateformatter

Ios 特定语言(如西班牙语)的Nsdateformatter,ios,objective-c,nsdateformatter,Ios,Objective C,Nsdateformatter,我的申请有两种语言,一种是英语,另一种是西班牙语。现在我从服务器收到时间戳,我需要以“mmmdd,yyyy”格式显示日期。 这是给我的“2017年12月23日”,但当我把它转换成西班牙语时,我需要用西班牙语显示月份名称。 你能建议我用西班牙语指定12个月的名字作为一个简短的形式吗?或者NSDateFormatter有这种类型的选项 NSDate *date = [dateFormatter dateFromString:[[[webserviceDict valueForKey:@"Curr

我的申请有两种语言,一种是英语,另一种是西班牙语。现在我从服务器收到时间戳,我需要以“mmmdd,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*格式化程序=[[NSDateFormatter alloc]init]

[格式化程序setDateStyle:style]

[格式化程序setDateFormat:@“MMM dd,yyyy”]

NSDate*temp=[formatter dateFromString:strDate]

[格式化程序setDateFormat:format]


[格式化程序setLocale:[NSLocale currentLocale]]

只需设置区域设置并从模板创建格式(以设置正确的顺序):

无需手动添加逗号或其他分隔符。他们还依赖于语言

使用预定义格式也可以实现同样的效果:

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

Swift 5.2示例,设置西班牙语“es_es”语言环境:

let today = Date()
let formatter = DateFormatter()

formatter.dateStyle = .long

formatter.locale = .init(identifier: "es_ES")
self.dateString = formatter.string(from: today)

检查
dateFormatter.locale
更新问题,说明如何创建和设置日期格式化程序。如果正在设置格式,则无需设置样式。手动。理想情况下,不要设置特定的格式,而是使用模板为区域设置创建格式,否则日期将无法正确本地化。
let today = Date()
let formatter = DateFormatter()

formatter.dateStyle = .long

formatter.locale = .init(identifier: "es_ES")
self.dateString = formatter.string(from: today)