我得到了 UTC 时间,并且想要附加时区缩写。我有下面的代码来获取时区缩写,但它给出的是 GMT +5.30。我想要作为 IST。
对于美国,它给出的是 EDT,我需要所有时区给出 3 个字母的缩写。
这可能吗?
请检查以下代码:
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
NSDate* sourceDate = [dateFormatter dateFromString:@"2015-03-16T13:08:17.989Z"];
NSTimeZone* destinationTimeZone = [NSTimeZone defaultTimeZone];
NSString *str =[destinationTimeZone abbreviation];
NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMMM dd yyyy, HH:mm "];
NSString* localTime = [dateFormat stringFromDate:sourceDate];
NSString* str1 = [NSString stringWithFormat:@"%@, %@",localTime, str];
NSLog(@"localTime:%@", str1);
输出为:
localTime:March 16 2015, 18:38 , GMT+5:30
我需要它
localTime:March 16 2015, 18:38 , IST
请帮忙!
最佳答案
您可以将时区设置为您的日期,例如:
[dateFormat setTimeZone:DesiredTimeZone];
然后使用日期格式化程序对其进行格式化:
NSDateFormatter *formatter = [NSDateFormatter new];
formatter.dateFormat = @"dd MMM @ HH:mm z";
根据时区以 03 字母格式将代码写入 z
属性。
了解更多详情click here
关于ios - 如何显示带有日期的时区缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29093944/