문제
다음 코드가 있습니다.
[ [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
.
제휴하지 않습니다 StackOverflow