NSDate
Today information
NSDate 현재 날짜 시간 가져오는 방법은 아래와 같다.
NSDateFormatter *format = [[[NSDateFormatter alloc] init]autorelease];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];
NSDate *now = [[[NSDate alloc] init]autorelease];
NSString *dateString = [format stringFromDate:now];
그 밖의 사용방법은 아래와 같다.
// Date Type yyyy-MM-dd HH:mm:ss
NSDate *date = [NSDate date];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HHmm"];
NSString *dateString = [dateFormat stringFromDate:date];
int nCurrentTime = [dateString intValue];
// NSDate to NSString
- (NSString *)getStringfromDate:(NSDate *)date {
if (!dateFormatter) {
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MMM-yyyy"];
}
return [[dateFormatter stringFromDate:date] uppercaseString];
}
// NSString to NSDate
NSString *dateString = @"2010-04-16";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"]; // 포맷에 주의!
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];
// 시간차 구하기
NSTimeInterval dateTime;
dateTime = [couponDate timeIntervalSinceDate:today];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:dateTime];
NSString *dateStr = [date description];
const char *dateStrPtr = [dateStr UTF8String];
int year, month, day;
sscanf(dateStrPtr, "%d-%d-%d", &year, &month, &day); // Input...
year -= 1970;
month -= 1;
day -= 1;
NSLog(@"%d years %d months %d days", year, month, day);
// 요일 구하기
NSString *tempdate = [NSString stringWithFormat:@"%d-%d-%d", 2011, 7, 8];
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *myDate = [df dateFromString:tempdate];
[df setDateFormat:@"EEEE"];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"ko_KR"] autorelease]];
NSString *dayofweek = [[df stringFromDate:myDate] substringToIndex:1] ;
See also
- NSDateFormatter (Format 정보가 포함되어 있다.)