NSDateFormmater(Objective - C)

Duny·2020년 10월 20일
0

Objective-C

목록 보기
1/1
post-thumbnail

NSDate를 문자열로 혹은 문자열을 NSDate로 변환시켜주는 NSDateFormatter 클래스를 알아보겠습니다.


서버에서 날짜 데이터를 String타입에 "20201010"으로 줬습니다!
하지만 앱에서 이대로 보여줄 순 없습니다. 10월 10일로 표현해달라는군요.

// 1. 문자열 날짜 -> NSDate

 NSString *dateString = @"20201010";   
 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; // 초기화
 [dateFormat setDateFormat:@"yyyyMMdd"]; // 변환 전 포맷
 // NSStrin타입인 dateString을 dateFormat에 넣어 NSDate를 생성합니다.
 NSDate *date = [dateFormat dateFromString:dateString];

// 2. 원하는 문자열로 변환
// 이제 dateFormat의 형식을 원하는 형식으로 바꿉니다.
[dateFormat setDateFormat:@"MM월 dd일"];
// 기존 dateString 변수에 아까 만든 NSDate 타입의 date를 Formatter에 넣습니다.
dateString = [dateFormat stringFromDate:date];

// 3. 결과
NSLog(@"%@", dateString); // 10월 10일

앗.. 기획안이 바뀌었습니다.. 2020-10-10로 표현해달라고 합니다.

// 1. 문자열 날짜 -> NSDate

 NSString *dateString = @"20201010";   
 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
 [dateFormat setDateFormat:@"yyyyMMdd"]; // 변환 전 포맷
 NSDate *date = [dateFormat dateFromString:dateString];

// 2. 원하는 문자열로 변환
// 이부분만 달라졌습니다.
[dateFormat setDateFormat:@"yyyy-MM-dd"];
dateString = [dateFormat stringFromDate:date];

// 3. 결과
NSLog(@"%@", dateString); // 2020-10-10

그 이외에 다양한 패턴을 사용하고 싶다면 아래 표를 참조해주세요.

이미지 출처 - http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns

profile
개발병아리

0개의 댓글