다음 날짜 양식이 서버 string
으로 표시됩니다. NSDateformatter 잘못된 시간대
"Fri, 09 Sep 2016 16:50:40 GMT"
나는이 내 로컬
timezone
에에 변환 할 수 싶어하고, 나는 할 수있는이 방법이 있습니다
-(NSString *)convertDatetoLocalTimeZone:(NSString *)dateString {
NSDateFormatter *serverFormatter = [[NSDateFormatter alloc] init];
[serverFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
[serverFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];
NSDate *expDate = [serverFormatter dateFromString:dateString];
NSDateFormatter *userFormatter = [[NSDateFormatter alloc] init];
[userFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];
[userFormatter setTimeZone:[NSTimeZone systemTimeZone]];
return [userFormatter stringFromDate:expDate];
}
및
이제 변환 된 날짜 :"Fri, 09 Sep 2016 12:50:40 EDT"
로를 이것은 문자열입니다. NSDate
(OfCourse와 같은 시간대)으로 변환하고 싶습니다. 나는 변환 된 NSDate
이 EDT
시간대를 보여줄 것으로 기대합니다.
-(NSDate *)getDateFromString:(NSString*)dateString{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"];
[df setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EDT"]]; //I also tried [NSTimeZone systemTimeZone]
return [df dateFromString:dateString];
}
날짜가 반환됩니다 : 여기
내가NSDate
다시 문자열로 변환해야 할 것입니다
2016-09-09 16:50:40 +0000 //this is in UTC
또한 en_US
에 로케일을 설정하여 시도 내 시간대를로 설정하더라도 날짜 포맷터가 EDT
을 UTC
으로 변환하는 이유는 무엇입니까??