2011-09-19 61 views
3

我需要找到我的iphone應用程序的當前時間。我需要把它分解成不同的單位,所以我需要不同變量的小時,分​​鍾和秒。請幫忙!尋找iphone編程的時間

+0

你得到這個工作? – bryanmac

回答

0
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"HH"]; 
int hour = [[dateFormatter stringFromDate:[NSDate date]] intValue]; 
[dateFormatter setDateFormat:@"mm"]; 
int minute = [[dateFormatter stringFromDate:[NSDate date]] intValue]; 
[dateFormatter setDateFormat:@"ss"]; 
int second = [[dateFormatter stringFromDate:[NSDate date]] intValue]; 
[dateFormatter release]; 
+0

這個工作,但'NSCalendar'和'NSDateComponents'是要走的路。 –

+0

你也可以格式化「HHmmss」或其他一些,然後子字符串。由於您必須先創建日曆,因此NSDateComponents有點笨拙。 –

4
NSDate *date = [NSDate date]; 
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date]; 

NSInteger year = [dateComponents year]; 
NSInteger month = [dateComponents month]; 
NSInteger day = [dateComponents day]; 
NSInteger hour = [dateComponents hour]; 
NSInteger minute = [dateComponents minute]; 
NSInteger second = [dateComponents second]; 

[calendar release]; 
1
NSDate   *date   = [NSDate date]; 
NSCalendar  *calendar  = [NSCalendar currentCalendar]; 
NSCalendarUnit unitFlags  = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit; 
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date]; 

NSInteger hour = [dateComponents hour]; 
NSInteger minute = [dateComponents minute]; 
NSInteger second = [dateComponents second]; 

NSLog(@"%ld:%ld:%ld", hour, minute, second); 

23:34:6