2012-06-12 2 views
0

NSStringNSDate으로 변환 할 수있는 간단한 사례입니다. NSDate을 만들고 NSString으로 바꾼 다음 NSDate으로 돌아갑니다. 날짜는 문자열처럼 보이지만 다시 변환 할 때 나는 12/25/2011과 같은 날짜를 얻습니다. 누군가 내 오류를 발견 할 수 있습니까?NSString을 올바르게 변환하지 못하는 NSDateFormatter

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"dd/MM/YY hh:mm a"]; 
NSDate* b = [[NSDate alloc] init]; 
NSString* f = [df stringFromDate:b]; // has the current date and time 
NSDate* dt =[df dateFromString:f]; // 12/25/2011 - where does it get this? 

답변

0

봅니다 다음을 사용합니다 :

[df setDateFormat:@"dd/MM/yyyy hh:mma"]; // or @"dd/MM/yy hh:mma" 

다음은 결과입니다

Printing description of b: 
2012-06-12 13:06:16 +0000 
Printing description of dt: 
2012-06-12 13:06:00 +0000 

당신이 date-formatter-examples을 읽고 내가 제안 더 많은 정보가 필요합니다.

ARC를 사용하지 않으면 메모리 누수에주의하십시오. 예를 들어 [[NSDate alloc] init] 대신 [NSDate date]을 사용하십시오.

희망이 있습니다.

0

내 시스템에 Datestyle이 사용 된 것 같습니다.

당신은 어떤 스타일을 사용하지 포맷터를 설정해야합니다 수 :

[df setDateStyle:NSDateFormatterNoStyle];

을 왜 당신은 일반적으로 스타일을 사용하지 않는? NSDateFormatterShortStyle이 원하는 것 같습니다. 시간 스타일을 설정하고 setLocal:을 사용하여 원하는 순서로 날짜를 가져와야합니다.

관련 문제