所以我有一個應用程序,其中一些數據是從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的主要點是相同的。 –