获取当前时间
我试图得到当前的小时分钟和秒钟。 这是我使用的代码
NSDate *now = [NSDate date]; NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar]; NSDateComponents *dateComponents = [gregorian components:(NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit) fromDate:now]; [self.timerLabel setText:[NSString stringWithFormat:@"%@ %@ %@", [dateComponents hour], [dateComponents minute], [dateComponents second]]];
当我在self.timerLabel所在的行上运行应用程序崩溃时。
这里有什么问题?
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:[NSDate date]]; NSInteger hour= [components hour]; NSInteger minute = [components minute]; NSInteger second = [components second];
当我运行代码在这里工作正常。
代码中的以下行是什么? 你确定它在代码粘贴的第三行崩溃了吗? 也许你粘贴的代码和你的xcode不一样。
编辑:这是因为你正在使用属于UTF-8string的string%@。 [dateComponents小时]等正在返回NSInteger,所以你应该使用%d。
只是在做
NSDate *datenow = [NSDate date];
你将有当前的date和时间,为了生成一个date的string表示,你应该使用NSDateFormatter的一个实例。