'여러가지'에 해당되는 글 1건

  1. 2010.08.24 [펌] NSDate를 여러가지 형태로 변환하기
아이폰어플개발정보2010. 8. 24. 09:32
[펌] NSDate를 여러가지 형태로 변환하기

http://b4you.net/blog/231]

NSDate를 사용하다 보면 unix timestamp형식으로 바꾼다던가, 년/월/일 정보를 가져온다던가 기타 등등 기능이 필요할 때가 있습니다.

그냥 NSDate에서 다 지원해주면 좋겠지만.. 안타깝게 그러진 않네요 -ㅁ-;

NSDate를 다른 형태의 데이터로 변환하는 방법을 정리 해 보았습니다.

1. NSDate to unix timestamp
NSDate의 timeIntervalSince1970를 이용하시면 됩니다.
예: 현재의 시간을 unix timestamp로 변환하기

int timestamp =[[NSDate date] timeIntervalSince1970];


2. unix timestamp to NSDate
NSDate의 dateWithTimeIntervalSince1970:를 이용하시면 됩니다.
예: 2009-06-26 10:51:39의 unix timestamp를 NSDate로 변환하기
NSDate*date =[NSDate dateWithTimeIntervalSince1970:1245981099];


3. NSDate to date component
이건 좀 복잡한데.. 년/월/일 시/분/초 를 구할 때 사용합니다. NSCalendar와 NSDateComponents를 이용하여 구합니다.
예: 2009-06-26 10:51:39의 unix timestamp로 NSDate객체 생성한 뒤 해당 객체를 년/월/일 시/분/초 로 분할하여 표시하기
NSDate*date;NSDateComponents*com;     date =[NSDate dateWithTimeIntervalSince1970:1245980099]; com =[[NSCalendar currentCalendar] components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit) fromDate:date];


4. date component to NSDate
년/월/일 시/분/초 로 부터 NSDate객체를 생성할 때 사용합니다. 마찬가지로 NSCalendar를 이용합니다.
예: 2009-06-26 10:51:39 시간을 가리키는 NSDate객체 생성하기
NSDate*date;NSDateComponents*com;NSDateFormatter*formatter; com =[[NSDateComponents alloc] init];[com setYear:2009];[com setMonth:6];[com setDay:26];[com setHour:10];[com setMinute:51];[com setSecond:39]; date =[[NSCalendar currentCalendar] dateFromComponents:com]; formatter =[[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSLog(@"%@",[formatter stringFromDate:date]);[formatter release];[com release];
[출처: http://b4you.net/blog/231]


출처 : http://blog.naver.com/PostView.nhn?blogId=baek2187&logNo=150080586541
Posted by 오늘마감

댓글을 달아 주세요