알려진 표준 시간대를 열거하고 각 시간대에서 원하는 표준 시간대와 같은 오프셋이 있는지 확인하십시오. 내 테스트 프로그램 :
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"GMT+5:30"];
NSInteger secondsFromGMT = timeZone.secondsFromGMT;
for (NSString *name in [NSTimeZone knownTimeZoneNames]) {
NSTimeZone *candidate = [NSTimeZone timeZoneWithName:name];
if (candidate.secondsFromGMT == secondsFromGMT) {
NSLog(@"%@ is currently the same offset from GMT as %@", candidate.name, timeZone.name);
}
}
}
return 0;
}
출력 :
2014-09-09 09:09:01.897 timezone[87091:303] Asia/Colombo is currently the same offset from GMT as GMT+0530
2014-09-09 09:09:01.898 timezone[87091:303] Asia/Kolkata is currently the same offset from GMT as GMT+0530
명백하게 GMT+5:30
옵셋 동일한 두 시간대있다. (다른 오프셋에 대해서는 더 많은 것들이있을 수 있습니다, 예를 들어 GMT-0500
을 시도하십시오.) 사용하려는 것을 결정하는 것은 당신에게 달려 있습니다.
그 반대입니다. 'GMT + 5 : 30' 대신에 http://en.wikipedia.org/wiki/List_of_time_zone_abbreviations을 넣어야합니다. – Larme
왜 시간대 이름을 원하십니까? –
나는 [nsdateformate datefromtimezone : [nstimezone timezonewithname :]];을 설정하려고하기 때문에; 그래서 내가 한 것은 [dateFr setTimeZone : [NSTimeZone timeZoneWithName : @ "UTC + 10 : 00"]]]; 그것은 나를 위해 일했습니다 .... –
GouthamDevaraju