2014-04-01 4 views
0

이것이 내 서식 오류입니다. 날짜를 문자열로 변환하려고하면 변환에 3 시간이 추가됩니다. 여기NSString을 NSDate로 변환 - 3 시간 추가

dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"MMMM, dd yyyy HH:mm:ss"]; 
    NSDate* dateFromString = [[NSDate alloc] init]; 
    dateFromString = [dateFormatter dateFromString:strToConvert]; 

일부 출력입니다 :

여기 내 코드의 내가 잘못 뭐하는 거지

Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 63 | March, 12 2014 14:22:29 

************************** 


Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 68 | 2014-03-12 18:22:29 +0000 

************************** 


Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 63 | March, 12 2014 14:16:52 

************************** 


Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 68 | 2014-03-12 18:16:52 +0000 

************************** 


Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 63 | March, 17 2014 11:14:26 

************************** 


Tuesday, 01 April 2014 | 11:22:12 | KIP_DateManager | convertStringToDate:: | 68 | 2014-03-17 15:14:26 +0000 

어떤 생각?

+2

표준 시간대에 대해 들어 본 적이 있습니까? – Sulthan

+0

물론, 분명히 나는 ​​그것을 보지 못했습니다. – PruitIgoe

답변

2
March, 12 2014 14:22:29 

과 4 시간의 차이입니다

2014-03-12 18:22:29 +0000 

. 구문 분석 된 날짜는 +0000 시간입니다. 필라델피아 (-0300)에 일광 절약 시간 (-1 시간)이 있습니다. 따라서 현재 시간대는 -0400입니다.

문자열에 시간대가 지정되어 있지 않으므로 시스템의 현재 시간대가 사용되고 날짜는 2014-03-12 14:22:29 -0400으로 구문 분석됩니다. 그러나 로깅 할 때 [NSDate description]을 사용하면 시간대가 0 인 날짜가 인쇄됩니다.

코드에서 올바른 결과를 제공하지만 잘못 테스트하고 있습니다.

관련 문제