문제

다음 코드가 있습니다.

[ [NSDate date] descriptionWithLocale: @"yyyy-MM-dd" ]

다음 형식으로 날짜를 반환하고 싶습니다 : "2009-04-23"

그러나 반환 : 2009 년 4 월 23 일 목요일 오후 11:27:03 GMT+03 : 00

내가 뭘 잘못하고 있죠?

미리 감사드립니다.

도움이 되었습니까?

해결책

잘못된 방법을 사용하고 있습니다. 대신 시도하십시오 descriptionWithCalendarFormat:timeZone:locale:

[[NSDate date] descriptionWithCalendarFormat:@"%Y-%m-%d"
                                    timezone:nil
                                      locale:nil];

또한이 방법은 귀하의 질문과 다른 형식과 다른 형식을 기대하고 있습니다. 이에 대한 전체 문서를 찾을 수 있습니다 여기.

편집 : Mike가 지적했듯이 실제로 사용해야합니다. NSDateFormatter. 몇 가지 문제가 있습니다 descriptionWithCalendarFormat:timezone:locale: 그 애플은 문서에 언급했다.

다른 팁

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]];
[dateFormatter release];  // delete this line if your project uses ARC
NSLog(@"%@",dateString); 

또한 대부분의 경우 NSDateFormatter 유연성을 선호합니다.

많은 앱에서 날짜 포맷터를 재사용함으로써 중요한 성능 이점도 있습니다.

당신이 없다면 NSDate -descriptionWithCalendarFormat:timeZone:locale: 사용 가능 (iPhone/Cocoa Touch가 포함되어 있다고 생각하지 않습니다) 스트프 프리 타임 그리고 일부 C 스타일의 현으로 원숭이. NSDate에서 UNIX 타임 스탬프를 얻을 수 있습니다. NSDate -timeIntervalSince1970.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top