2013-11-21 2 views
4

날짜가 이상합니다. 나는 시간 형식에 대한 다양한 결과를 얻고있다. 내 코드는ios7의 날짜 형식 문제

formatter=[[NSDateFormatter alloc]init]; 
    [formatter setDateFormat:@"yyyy/MM/dd hh:mma"]; 
    NSDate *currentdate=[formatter dateFromString:[formatter stringFromDate:[NSDate date]]]; 
    NSLog(@"Current Date %@",currentdate); 

시뮬레이터 및 기타 장치입니다

현재 날짜 2013년 11월 13일 11시 55분 0초 0000

그러나 하나의 특정 장치에서 내 출력 (아이폰 5) : 수신 출력은

현재 날짜 2013-11-13 11:57:00 am +0000

날이 당신은 아이폰의 기본 설정 (설정 -> 일반 -> 날짜 및 시간)에 설정하여 "날짜 시간 형식"을 확인해야

+0

NSDate에는 형식이 없습니다. NSDate의 내용을 원하는 형식의 NSString으로 "형식화"합니다. –

답변

4

는 다른 시간을 표시되어있는 경우 (이 경우에만 iOS7에 후에 발생)

dateformat을 사용할 설정 한 후 기본 시간대를 설정해야 할 수도 있습니다
[dateFormat setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]; 

기본 시간대는 기기에있는 것으로 보이므로 기본 시간대를 지정하지 않으면 이상한 결과가 발생할 수 있습니다. ios7 이전에는 항상 GMT였습니다.

갱신 :

NSDate는 포맷 후 전무 경우, 당신은 아마 사용해야합니다

[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; 

나는 멕시코 아이폰이 문제를 가지고, 당신은 행복 할 사용자를 좋아하는 경우 귀하의 앱이 코드를 항상 추가하는 것이 좋습니다. IOS7 이후 항상 두 코드 스 니펫을 사용합니다.

2

issue.Thanks 해결하는 데 도움이 바랍니다.

이 설정 시간 형식이 24 시간으로 설정된 경우 u는 24 시간 형식으로 시간을받습니다.

12 시간 형식으로 설정하면 u는 12 시간 날짜 형식을 갖게됩니다. 나는 UR 아이폰 5 장치 날짜 시간 설정에서 생각

12 시간 형식으로 설정되어

+0

사실, 다음 포맷의 경우 ios7 및 ios8에서 날짜 포맷터 코드를 실행합니다. [포맷터 setDateFormat : @ "MM/dd/yyyy hh : mm a"] 형식에 따라 20/10/2015 오후 9:30 가치가 있지만 아이폰 OS 7 m 20/20/2015 21:30 점점 내 시스템 설정에서 나는 24 시간 형식을 설정하므로 "날짜 시간"디스플레이 설정을 변경하면 – Bevan