12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置

我正在使用的NSDate对象,和好了,我的iPhone与24小时格式,所以当我在测试我的应用程序,一切正常,但是,我的一个朋友试图在他的iPhone上的应用程序 CodeGo.net,但12小时格式,经过研究,我发现该问题是日期,而我不知道为什么 这个设置日期选择器和一个选择器,所以我从数据库中读取的值(是的,我已经检查了值,它们是正确的,它不是一个价值的问题),所以所有的数据被格式化,并放在一起作为一个NSDate的,然后,我设置的日期选择器和选择器与我刚刚创建的这个日期

NSDateFormatter *currentDate = [[[NSDateFormatter alloc] init] autorelease];
[currentDate setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate * startDate =[currentDate dateFromString:[NSString stringWithFormat:@"%d-%d-%d %d:%d",yearVal,monthVal,dayVal,hourVal,minVal]];
[datePicker setDate:startDate];
[timePicker setDate:startDate];

所以,yearVal,monthVal,dayVal,hourVal,MINVAL都是NSIntegers ... 问题是,是,它完美的作品,如果你的iPhone / iPod的24小时的时钟设置,但是,如果你12小时格式,它崩溃,并显示该

> *** Assertion failure in -[UIDatePickerView _updateBitsForDate:forced:andReload:animateIfNeeded:], /SourceCache/UIKit/UIKit-1914.85/UIDatePicker.m:1200 2012-06-29
> 01:19:15.753 MyApp[1215:707] *** Terminating app due to uncaught
> exception 'NSInternalInconsistencyException', reason: 'Invalid
> parameter not satisfying: date'
> *** First throw call stack: (0x3710188f 0x34e06259 0x37101789 0x379403a3 0x31042807 0x30f616c5 0x30f61563 0x31042385 0xf48ef 0xf7bd3
> 0x30e0ec8b 0x30e1b1e9 0x30e1b059 0x30e1af3f 0x30e1a7c1 0x30e1a503
> 0x30e0eaff 0x30e0e7d5 0xdd945 0x30e8793d 0x30f01627 0x37972933
> 0x370d5a33 0x370d5699 0x370d426f 0x370574a5 0x3705736d 0x33816439
> 0x30e03cd5 0xd4cbb 0xd4c60) terminate called throwing an
> exception(gdb)

所以,请,如果你对如何解决这一问题的任何想法,我很感激你的帮助 哦,我读过,HH返回时间以24小时格式,好了,我所有的HH,所以我不明白为什么我一直在看“我”或“下午”在NSLogs i的打印调试 在此先感谢 哦,对不起,我差点忘了,如果我行

[datePicker setDate:startDate];
[timePicker setDate:startDate];

该应用程序不会崩溃,但当然,它并不显示和日期我需要 注:我需要24小时格式,如果我决定要选择上午与下午的格式,我将不得不改变我所有的应用程序,和好了,我没有足够的
本文地址 :CodeGo.net/474673/ 
-------------------------------------------------------------------------------------------------------------------------
1. 来看看这个喜欢:认为第二个答案可能是最适合你。然后,根据是否12小时制或24小时制时钟,您可以设置[的currentdate setDateFormat:....]相应地。 如果你想12小时制时钟,然后设置的currentdate如下:

[currentDate setDateFormat:@"yyyy-MM-dd h:mm:ss a"];

如果你想有一个24小时制,然后设置的currentdate如下:

[currentDate setDateFormat:@"yyyy-MM-dd HH:mm"];


本文标题 :12小时格式Xcode的-在一个“TimePicker”24 NSDate的设置
本文地址 :CodeGo.net/474673/

posted @ 2016-03-24 15:17  沧海珠泪  阅读(385)  评论(0编辑  收藏  举报