我正在使用此代码获取时区
NSMutableArray *arrResult = [NSMutableArray new];
NSDateFormatter *dateFormatter = [NSDateFormatter new];
NSDate *myDate = [NSDate date];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
[dateFormatter setTimeStyle:NSDateFormatterLongStyle];
[dateFormatter setDateFormat:@"ZZZ"];
[[NSTimeZone knownTimeZoneNames] enumerateObjectsUsingBlock:^(NSString * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:obj];
[dateFormatter setTimeZone:timeZone];
NSString *dateString = [dateFormatter stringFromDate: myDate];
NSMutableString *mu = [NSMutableString stringWithString:dateString];
[mu insertString:@":" atIndex:3];
NSString *strResult = [NSString stringWithFormat:@"(GMT%@)%@",mu,obj];
[arrResult addObject:strResult];
}];
NSLog(@"%@", arrResult);
此代码的响应就像我想要的那样
"(GMT+01:00)Africa/Libreville",
"(GMT+00:00)Africa/Lome",
"(GMT+01:00)Africa/Luanda",
"(GMT+02:00)Africa/Lubumbashi",
"(GMT+02:00)Africa/Lusaka",
"(GMT+01:00)Africa/Malabo",
"(GMT+02:00)Africa/Maputo",
"(GMT+02:00)Africa/Maseru",
"(GMT+02:00)Africa/Mbabane",
"(GMT+03:00)Africa/Mogadishu",
"(GMT+00:00)Africa/Monrovia",
"(GMT+03:00)Africa/Nairobi",
"(GMT+01:00)Africa/Ndjamena",
"(GMT+01:00)Africa/Niamey",
"(GMT+00:00)Africa/Nouakchott",
"(GMT+00:00)Africa/Ouagadougou",
"(GMT+01:00)Africa/Porto-Novo",
"(GMT+00:00)Africa/Sao_Tome",
"(GMT+02:00)Africa/Tripoli",
"(GMT+01:00)Africa/Tunis",
我必须在我的标签中显示此类型
但我要做的是当我们点击仅保存(非洲/的黎波里)时,数据库中的这部分将被保存,我不知道如何做到这一点。 请帮帮我
答案 0 :(得分:0)
如果您不希望列表中有(GMT+01:00)
个括号,那么您可以制作字符串,
NSString *strResult = [NSString stringWithFormat:@"%@",obj];
[arrResult addObject:strResult];
所以,那个支架部分不会来。
如果您希望括号部分和名称一起用于不同的任务,那么您可以创建另一个名为arrResult2
的数组,并创建另一个名为strResult2
的字符串,并按照上面的说明进行操作。
所以,你有两个数组。 one(arrResult)同时包含括号和名称,另一个(arrResult2)只有名称。
如果你想分隔字符串,
NSString *str = @"(GMT+00:00)Africa/Lome";
NSString *newStr = [str substringFromIndex:11];
NSLog(@"new str : %@",newStr);
我发现每个字符串都在11th index
处有右括号,因此您可以使用它从原始字符串中获取子字符串。
希望这会有所帮助:)
答案 1 :(得分:0)
我经过多次尝试后得到了答案,如果有人想要这个,那么请看这里: -
NSString *zoneString = @"(GMT+13:00)Pacific/Tongatapu"
NSUInteger location = [zoneString rangeOfString:@")"].location+1;
NSLog(@"Trimed string:%@",[zoneString substringFromIndex:location]);
Trimed string:Pacific/Tongatapu