2012-04-13 4 views
0

날짜로 문자열을 변환해야합니다. 나는 같은 것을하기 위해 날짜 포매터를 사용하고있다.시간이 제대로 반환되지 않았습니다.

코드 :

NSString *stringDate = @"2010-06-21"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"yyyy-MM-dd"]; 

NSDate *theDate = [dateFormatter dateFromString:stringDate]; 

이 나에게 이전 날짜 아니라 내가 전달 된 문자열 날짜를 제공합니다. 그래서 나는 시간대를 사용해 보았다.

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 

이것은 올바른 날짜이지만 잘못된 시간을 제공합니다.

만 입력하면됩니다. 어떻게 정확한 날짜시간을 자른 결과. 사전에

감사

답변

1

이 시도 -

dateOnlyFormatter = [[NSDateFormatter alloc] init]; 
[dateOnlyFormatter setDateFormat:@"yyyy-MM-dd"]; 
[dateOnlyFormatter setLocale:enUSPOSIXLocale]; 
[dateOnlyFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 

을 분명히 당신이 물어 어떤있는 NSDate는 시간 요소가됩니다 -

NSString *myDateAsString = [dateOnlyFormatter stringFromDate:theDate]; 
- 당신이 날짜 포맷과 같이 사용해야합니다

... 문자열을 다시 dateFormatter에 공급하여 시간이 0 인 NSDate를 얻을 수 있습니다. -

NSDate *myNewDate = [dateOnlyFormatter dateFromString:myDateAsString]; 
관련 문제