所以我有一个应用程序,其中一些数据是从Web服务返回的,并且相应地调整了UIDatePicker
。的日期返回使用以下格式:在12小时内设置24小时制UIDatePicker
12-05-2013 16:05 (dd-mm-yyyy hh:mm)
的时间被存储在24个小时的格式,然而的UIDatePicker是为12小时,这取决于设备上的设置24小时。数据以JSON数组形式出现,并且是关键的potdd。我设置的日期选取器称为potddatepicker。
NSDateFormatter *inputFormat = [[NSDateFormatter alloc] init];
[inputFormat setDateFormat:@"dd-MM-yyy hh:mm"];
NSDate *inputDate = [inputFormat dateFromString: [jsonObjects objectForKey:@"potdd"]];
NSDate *potdd = inputDate;
[_potddatepicker setDate:potdd];
如果日期设置在12:00之前,那么它工作正常。但是,如果日期是店24小时时间后的12,然后将其与以下异常崩溃:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
我特别不希望强制的时间为12小时格式只是为日期选择器,然后迫使其回进入24小时后,因为在某些当地人可能会用到24小时日期选择器。任何人都知道我可以如何处理这个问题?我无法更改时间存储在数据库中的格式。
谢谢!
您是否检查过'inputDate'以查看它是否具有您期望的值? –
@GradyPlayer问题与该重复的答案是,这是错误的。请参阅下面的答案。这就是为什么我在这个问题的答案中指出需要使用特殊的'en_US_POSIX'语言环境。 – rmaddy
@rmaddy op的格式化程序稍微有点缺陷,但h和h的主要点是相同的。 –