반응형
날짜계산(특정시간 이후 날짜 구하기)
날짜와 시간을 위한 프로그래밍을 위해서는 기본적으로 NSDate를 사용한다.
NSDate는 2001년 1월 1일 자정을 기준으로 현재시간(특정)까지의 경과한 시간(초)을 저장하고 있는 객체이다.
두 시점의 과거 , 미래 시간을 비교하는 작업은 가능하나, 구체적인 날짜나 요일을 구하기는 어렵다.
(예 3월1일은 무슨요일인가 ?등)
날짜를 자유자재로 다룰려면 NSCalendar와 NSDateComponents 객체에 대해서 알아야 한다.
NSDateComponents는 몇 월, 몇 일 등 날짜 정보를 구성하는 달력에서 기본 단위들에 대한 정보를 얻는데 사용된다.
실제로 NSDate 객체와 NSDateComponents 객체를 NSCalendar 객체가 연결해준다.
*코드
int milsec = 3600 * 24 * 30; //30일
// 현재 시간을 저장한다.
//NSDate *now = [[NSDate alloc] init]; // 생성
NSDate *today = [NSDate date]; //메소드를 이용해서 간단히 생성
NSLog(@"오늘 날짜 '%@'.", today);
//오늘 날짜 '2019-04-02 05:31:39 +0000'.
// 현재 시간에 30일 시간 (3600 * 24 * 30) 더하기
NSDate *afterDay = [today dateByAddingTimeInterval:milsec];
NSLog(@"30일 이 후 날짜: '%@'.", afterDay);
//30일 이 후 날짜: '2019-05-02 05:31:39 +0000'.
//날짜 형식 지정
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMdd"];
NSString *dateString = [formatter stringFromDate:afterDay];
NSLog(@"30일 후 날짜 ? : %@" ,dateString );
//30일 후 날짜 ? : 20190502
//문자열 -> 날짜 형식으로
// NSDate *someDay = [formatter dateFromString:dateString];
반응형
'ios 뽀개기 > objective-c' 카테고리의 다른 글
ios 화면보호기 & 터치 감지하기 (0) | 2019.04.05 |
---|---|
날짜를 이용해서 파일 삭제하기 (0) | 2019.04.03 |
uuid 구하기(ios 기기 고유번호) (1) | 2019.04.02 |
카메라 줌 AVCaptureDevice Zoom (0) | 2019.04.02 |
core audioqueue player 에 대하여 2(추가설명) (0) | 2019.03.29 |
댓글