【发布时间】:2014-04-16 13:41:02
【问题描述】:
在我的应用程序中,客户的要求是以 12 小时格式显示时间。如果我的设备不是 24 小时格式,一切正常。但是如果我将设备时间格式更改为 24 小时格式,mydate 将为零。这是我的代码。
NSString *timeStr=@"12-02-2012 11:12 PM";
NSDateFormatter *dtf = [[NSDateFormatter alloc] init];
[dtf setDateFormat:@"dd-MM-yyyy hh:mm a"];
NSDate *myDate=[dtf dateFromString:timeStr];
请提供解决方案。我正在通过获取 mydate 来验证 datePicker 的日期,但我的应用由于 nil 值而崩溃。提前致谢。
【问题讨论】:
-
24 小时制怎么会有上午/下午。在
[dtf setDateFormat:@"dd-MM-yyyy hh:mm a"];中删除a -
在我的应用程序中,我从服务器获取时间并将其转换为 12 小时格式并将其显示在标签中。我只想将具有 12 小时格式的日期字符串(标签文本)转换为NSDate。但我得到 nil,如果设备是 24 小时格式。如果设备是 12 小时格式,我可以将其转换为 NSDate..
-
MKR ,我的日期字符串,即 timeStr 是 12 小时格式,而不是 24 小时格式。如果我删除 [dtf setDateFormat:@"dd-MM-yyyy hh:mm a"] 中的 a,格式化程序如何知道日期字符串是 12 小时格式?
-
在设置 dateFormat 之前设置语言环境:dtf.locale = NSLocale.systemLocale;
标签: objective-c ios7 nsdate nsdateformatter