2017-01-11 3 views
0

내 입력 NSString2017-01-11 5:33:55 am +0000입니다. 그리고 내 코드는 다음과 같습니다오전/오후 및 시간대로 NSString을 NSDate로 변환하십시오.

date = @"2017-01-11 5:33:55 am +0000"; 
    uploadFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss a Z"; 
    [uploadFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]]; 
    NSDate *theDate = [uploadFormatter dateFromString:date]; 

그러나 반환 NSDate 항상 2017-01-11 0:33:55 UTC에 관계없이 입력 시간의입니다. 입력이 2017-01-11 3:33:55 am +0000이면 결과도 같습니다.

누구든지 전에 문제가 발생 했습니까? 어떤 아이디어라도 감사 할 것입니다.

+3

'HH'은 24 시간 형식으로 사시간,하지만 당신은 AM/PM이 있기 때문에, 그것은 분명히 12 시간 형식입니다. 그래서 적어도 "hh"로'HH'를 변경하십시오. – Larme

+0

@Larme 정확하게 문제를 해결합니다. 의견을 답변으로 게시하여 받아 들일 수 있도록 도와 주시겠습니까? 고마워요! 내 목숨을 구해 줬어. –

답변

1

HH은 24 시간 형식으로 4 시간이지만 "오전"/ "오후"이므로 분명히 12 시간 형식입니다. dateFormat에서 HHhh으로 변경하십시오.

iOS7 +의 형식이 here 인 문서는 here입니다.

0

사용이 날짜 형식 :

[uploadFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss a Z"]; 
관련 문제