2011-10-14 2 views
0

DatePicker의 선택한 날짜에 가져 가고 싶지만 2 시간 지연 문제가 있습니다.iOS 5 DatePicker에서 선택한 날짜

// String From Date 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeStyle:NSDateFormatterFullStyle]; 
[dateFormatter setDateStyle:NSDateFormatterFullStyle]; 
[dateFormatter setLocale:[NSLocale currentLocale]]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"]; 
NSDate *dateSelected = [datePicker date]; 
NSString *dateChoisie = [dateFormatter stringFromDate:dateSelected]; 
NSDate *dateFinal = [dateFormatter dateFromString:dateChoisie]; 

NSLog(@"dateSelected = %@", dateSelected); 
NSLog(@"dateChoisie = %@", dateChoisie); 
NSLog(@"dateFinal = %@", dateFinal); 

결과 :

2011-10-15 00:16:11.129 QuickEvent[25459:707] dateSelected = 2011-10-14 22:20:05 +0000 
2011-10-15 00:16:11.132 QuickEvent[25459:707] dateChoisie = 2011-10-15 00:20:05 +0200 
2011-10-15 00:16:11.138 QuickEvent[25459:707] dateFinal = 2011-10-14 22:20:05 +0000 

답변

0

당신이 적용 할 수있는 예를 들어 .. 형식의이 종류를 사용하여

NSTimeZone *sourceTimeZone =[NSTimeZone systemTimeZone]; 
NSTimeZone *destinationTimeZone = [NSTimeZone timeZoneForSecondsFromGMT:(TIME_ZONE_THAT_YOU_WANTED*3600)]; 

NSInteger sourceSeconds =[sourceTimeZone secondsFromGMTForDate:date]; 
NSInteger destinationSeconds =[destinationTimeZone secondsFromGMTForDate:date]; 
NSTimeInterval interval = destinationSeconds - sourceSeconds; 

NSDate *convertedDate =[[[NSDate alloc]initWithTimeInterval:interval sinceDate:date] autorelease]; 
return convertedDate; 

을 시도 TIME_ZONE_THAT_YOU_WANTED = -8 뉴욕 시간대에 대한 기반 시간

감사합니다. Arun.

관련 문제