2010-03-02 41 views

Trả lời

19

Bạn cần sử dụng NSDateComponents, một chút phức tạp (không kể đến tiết)! Vì bạn cần hiểu một chút về cách thức xử lý lịch của Cocoa. Có phần giới thiệu tuyệt vời trong số docs; đây là một trích đoạn chỉnh sửa:

NSDate *today = [NSDate date]; 
NSCalendar *gregorian = [[[NSCalendar alloc] 
         initWithCalendarIdentifier:NSGregorianCalendar] autorelease]; 
NSDateComponents *components = 
        [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:today]; 

NSInteger hour = [components hour]; 
NSInteger minute = [components minute]; 
NSInteger second = [components second]; 
+0

[autorelease Gregorian] vào cuối chắc chắn, để ngăn chặn rò rỉ bộ nhớ –

+0

@TomH, cuộc gọi tốt, cố định. –

+0

Công việc tuyệt vời để hoàn thành các giải pháp của tôi nhờ Beder .. –

-1
NSDateFormatter * formatter; 

self.formatter = [[NSDateFormatter alloc] init]; 

[_formatter setDateFormat:@"HH:mm:ss"]; 

NSDate *today = [NSDate date]; 

NSString *p_time = [_formatter stringFromDate:today]; 
Các vấn đề liên quan