首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不符合条件的无效参数:日期

不符合条件的无效参数:日期
EN

Stack Overflow用户
提问于 2012-06-21 07:40:19
回答 1查看 6.2K关注 0票数 2

我有一个来自Crashlytics的问题。我打开了调试参数,所以我正在查看有哪些参数。

代码语言:javascript
运行
复制
datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 0, 0)];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    NSString *startTimeString = [MathFunctions minutesToTimeString:[appointment.start_time integerValue]];
    NSLog(@"Time: %@",startTimeString);
    NSLog(@"Date: %@", appointment.date);
    [dateFormatter setDateFormat:@"yyyyMMdd h:mm a"];
    [Crashlytics setObjectValue:[NSString stringWithFormat:@"%@ %@", appointment.date, startTimeString] forKey:@"ResAddDate"];
    NSString *dateTimeString = [NSString stringWithFormat:@"%@ %@", appointment.date, startTimeString];
    NSLog(@"Date String: %@", dateTimeString);
    datePicker.date = [dateFormatter dateFromString:dateTimeString];

来自crashlytics的崩溃日志显示日期格式正确

RESADDDATE: 20120621 12:00 AM

崩溃发生在datePicker.date = [dateFormatter dateFromString:dateTimeString];

如果日期格式是正确的,为什么会崩溃呢?

Crashlytics日志:

代码语言:javascript
运行
复制
CoreFoundation  
__exceptionPreprocess + 162
1    libobjc.A.dylib    
objc_exception_throw + 32
2    CoreFoundation 
+[NSException raise:format:]
3    Foundation 
-[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 90
4    UIKit  
-[UIDatePickerView _updateBitsForDate:forced:andReload:animateIfNeeded:] + 146
5    UIKit  
-[UIDatePickerView _setDate:animated:forced:] + 348
6    UIKit  
-[UIDatePickerView setDate:animated:] + 30
7    UIKit  
-[UIDatePicker setDate:] + 36
8    MyApp   ReserveAddController.m line 283
-[ReserveAddController showDatePicker] + 283
9    MyApp   ReserveAddController.m line 179
-[ReserveAddController tableView:didSelectRowAtIndexPath:] + 179
10   UIKit  
-[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 944
11   UIKit  
-[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 158
12
Foundation  
__NSFireDelayedPerform + 414
13   CoreFoundation 
__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 14
14   CoreFoundation 
__CFRunLoopDoTimer + 364
15   CoreFoundation 
__CFRunLoopRun + 1206
16   CoreFoundation 
CFRunLoopRunSpecific + 300
17   CoreFoundation 
CFRunLoopRunInMode + 104
18   GraphicsServices   
GSEventRunModal + 136
19   UIKit  
UIApplicationMain + 1080
20   Appointment-Plus    main.m line 16
main + 16
21   Appointment-Plus
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-22 05:25:11

请注意,您可能会受到区域设置"feechure“的影响。您需要设置NSDateFormatter的区域设置。

设置电话的美国区域设置,然后将12/24设置为24。另外,将手机设置为欧洲地区,然后将12/24设置为12。可能其中一个或两个都会失败。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11129698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档