2011-09-19 24 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