Objective-C 날짜 다루기

  1. 날짜와 시간 정보는 기준 시(1970년 1월 1일) 이후 지나간 시간을 다룬다.
  2. 날짜와 시간정보를 다루는 클래스 : NSDate, NSDateFormatter, NSCalender 등 있다.
    1. NSDate 클래스 : Time Interval 을 이용한 시간 정보
      1. 주로 사용되는 메소드
        1. +(id)date; : 현재 시간을 날짜 표시 형식에 맞추어서 출력한다.
        2. +(id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; : 현재 시간을 기준으로 secs 만큼 시간을 더한 만큼 날짜 표시 형식에 맞추어서 출력한다.
        3. 사용 방법은 아래와 같다.
        4. 위 내용 출력 결과는 아래와 같다. (날짜 표시 형식은 아래에서 다룸)
    2. NSDateFormatter 클래스 : 날짜 표시 형식
      1. -(void)setDateFormat:(NSString *)string; : 함수를 이용하여 원하는 날짜 표시 형식으로 출력할 수 있다.
      2. 아래는 위 코드를 출력한 내용이다.
      3. NSLocale 클래스 : 날짜와 시간 표시 형식을 정의하기 위한 클래스이다.
      4. 주로 사용되는 메소드
        1. +(id)currentLocale; : 현재 사용자 위치 표기로 날짜와 시간 출력
        2. -(NSLocale *)initWithLocaleIdentifier:(NSString *)locale; : 특정 지역 표기로 출력한다.
        3. 위 메소드를 이용하여 출력한 내용은 아래와 같다.
    3. NSCalendar, NSDateComponents 클래스 : 날짜 구성 요소를 다루는 클래스로 년, 월, 일, 요일 등의 정보를 다룬다.
      1. NSDateComponents 클래스 : 날짜 정보를 얻거나 설정한다.
        1. 날짜 정보 얻기
          1. -(NSInteger)year; : 날짜 정보의 년도
          2. -(NSInteger)month; : 날짜 정보의 월
          3. -(NSInteger)day; : 날짜 정보의 일
          4. -(NSInteger)weekday; : 날짜 정보의 요일(1부터 시작)
          5. -(NSInteger)weekOfYear; : 날짜 정보의 일년 중 몇 째 주에 대한 정보
        2. 날짜 정보 설정
          1. -(void)setYear:(NSInteger)year; : 날짜 정보의 연도를 설정
          2. -(void)setMonth:(NSInteger)month; : 날짜 정보의 월을 설정
          3. -(void)setDay:(NSInteger)day; : 날짜 정보의 일을 설정
      2. NSCalendar 클래스 : 달력 시스템에서 날짜 정보를 얻어온다. 
        1. 객체 생성 메소드 : +(id)currentCalendar;
      3. NSDateComponents와 NSCalendar 클래스를 이용한 방법은 아래와 같다.
      4. 아래는 해당 내용을 출력한 것이다.