문자열로 표현된 날짜 데이터를 NSDate 객체로 바꾸는 것도 빈번히 일어나는 일입니다. 간한히 예로 들면 100610 이라고 표현된 날짜 문자열을 2010/10/06으로 바꾸고 싶을 때 다음 순서를 따라야 합니다.
지금까지는 출력 결과가 모두 미국식 표기였습니다. 하지만 특정 지역에 맞게 요일 이름과 월 이름을 출력하려면 어떻게 해야 할까죠? 다음에는 지역 설정에 대해서 알아보겠습니다.
- 우선 100610 을 NSDateFormatter를 이용하여 NSDate 객체로 변환한다
- 변환된 NSDate 를 NSDateFormatter를 이용하여 원하는 날짜 문자열을 얻는다.
//문자열 날짜를 NSDate로 변경하기문자열로 표현된 날짜 데이터를 NSDate 객체로 변경하여 날짜간의 차이를 얻는 것은 NSDate 의 인스턴스 메소드인 timeIntervalSinceDate 를 이용하면 됩니다.
{
NSString *dateStr = @"20020505";
// 1. NSDate로 변경하기
NSDateFormatter *dateFormat = [[[NSDateFormatter alloc] init] autorelease];
[dateFormat setDateFormat:@"yyyyMMdd"];
NSDate *date = [dateFormat dateFromString:dateStr];
// 2. 원하는 문자열 얻기
[dateFormat setDateFormat:@"EEEE MMMM d, YYYY"];
dateStr = [dateFormat stringFromDate:date];
NSLog(@"%@", dateStr);
}
//출력결과
//Sunday May 5, 2002
지금까지는 출력 결과가 모두 미국식 표기였습니다. 하지만 특정 지역에 맞게 요일 이름과 월 이름을 출력하려면 어떻게 해야 할까죠? 다음에는 지역 설정에 대해서 알아보겠습니다.
'iOS개발팁' 카테고리의 다른 글
쿼츠2D 튜토리얼 - 간단한 도형 그리기 (0) | 2010.10.07 |
---|---|
NSDate와 NSDateFormatter 사용하기 04 (0) | 2010.10.06 |
NSDate와 NSDateFormatter 사용하기 02 (0) | 2010.10.06 |
NSDate와 NSDateFormatter 사용하기 01 (0) | 2010.10.06 |
Twitter-OAuth-iPhone 라이브러리 소개 (0) | 2010.10.05 |