Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iphone编程中寻找时间_Iphone_Objective C_Ios_Xcode_Time - Fatal编程技术网

在iphone编程中寻找时间

在iphone编程中寻找时间,iphone,objective-c,ios,xcode,time,Iphone,Objective C,Ios,Xcode,Time,我需要找到我的iphone应用程序的当前时间。我需要把它分解成不同的单位,所以我需要不同变量中的小时、分钟和秒。请帮忙 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"HH"]; int hour = [[dateFormatter stringFromDate:[NSDate date]] intValue]; [dateFormatter setDa

我需要找到我的iphone应用程序的当前时间。我需要把它分解成不同的单位,所以我需要不同变量中的小时、分钟和秒。请帮忙

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];
23:34:6


这是可行的,但是
NSCalendar
NSDateComponents
是可行的。您也可以格式化“HHmmss”或类似的格式,然后再格式化子字符串。NSDateComponents有点笨拙,因为您必须先创建日历。
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];
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);