:fromDate不能为零
我得到这个错误。如何解决它,请build议我。 崩溃报告 [__NSCFCalendar components:fromDate:toDate:options:]:fromDate不能为零我的意思是,你认为这个操作应该是什么意思? 现在已经避免了一个例外。 这些错误中的一部分将会与这个投诉一起被报告,然后进一步的违规将只是默默地做任何随机的事情结果从零。 下面是这次发生的回溯(由于编译器优化,可能会丢失一些帧): 我的代码
NSString *str_babyedays=aMileBusiness.str_DAte; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"dd-MM-yyyy"]; df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"]; NSDate *titemdate = [df dateFromString: str_babyedays]; NSDate *currentDate = [NSDate date]; NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents *components = [gregorian components:unitFlags fromDate:titemdate toDate:currentDate options:0]; NSInteger months = [components month]; NSInteger day= [components day];
你的titemdate
是零,因为你的NSDateFormatter
无法parsingstr_babyedays
的date。 直接从NSDateFormatter
的Apple文档:
如果
dateFromString:
不能parsingstring,则返回nil
。
你可以看看这些问题,以确定为什么它是nil
。
NSDateFormatter dateFromString转换
NSDateFormatter dateFromString总是返回nil
dateFromString始终使用dateformatter返回null