大佬教程收集整理的这篇文章主要介绍了ios – 尝试仅将NSDate用于时间,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
- (void)awakeFromInsert { NSDateComponents *comps = [[NSDateComponents alloc] init]; comps.minute = 45; comps.second = 0; NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; self.periodDuration = [calendar dateFromComponents:comps]; NSLog(@"periodDuration: %@",self.periodDuration); comps = [[NSDateComponents alloc] init]; comps.hour = 8; comps.minute = 0; self.firstPeriodStartTime = [calendar dateFromComponents:comps]; NSLog(@"firstPeriodTime: %@",self.periodDuration); }
但我得到的结果是:
periodDuration: 0001-12-31 22:24:04 +0000 firstPeriodTime: 0001-12-31 22:24:04 +0000
结果我期待:
periodDuration: 45:00 firstPeriodTime: 08:00
我究竟做错了什么?我怎样才能解决这个问题?
谢谢.
如果您尝试使用此代码剪切,您可以发现,如果您只是将日期转换回字符串,它就像您期望的那样
NSDateComponents *comps = [[NSDateComponents alloc] init]; comps.minute = 45; comps.second = 0; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDate *periodDate = [calendar dateFromComponents:comps]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"mm:ss"]; NSLog(@"periodDuration: %@",[dateFormatter StringFromDate:periodDate]); comps = [[NSDateComponents alloc] init]; comps.hour = 8; comps.minute = 0; NSDate *firstPeriodDate = [calendar dateFromComponents:comps]; [dateFormatter setDateFormat:@"HH:mm"]; NSLog(@"firstPeriodTime: %@",[dateFormatter StringFromDate:firstPeriodDate]);
periodDuration:45:00
firstPeriodTime:08:00
@H_502_4@ @H_502_4@以上是大佬教程为你收集整理的ios – 尝试仅将NSDate用于时间全部内容,希望文章能够帮你解决ios – 尝试仅将NSDate用于时间所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。