【发布时间】:2010-11-03 15:04:02
【问题描述】:
我有这部分代码:
NSDate *date =nil;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateFormat:@"dd-MM-yy"];
date = [dateFormatter dateFromString:inString];
[dateFormatter release];
它运行良好,正如在 iOS 4.0 中所预期的那样。但相同的代码在 3.0 中没有。
我得到的字符串类似于“12-Nov-10”,它包含在 inString 指针中。
如果本机操作系统是 3.0 或 3.1,则日期格式化程序返回 nil。由于某些原因,我需要坚持使用相同的日期格式。有没有其他人遇到过这个问题?有解决此问题的建议吗?
谢谢,
拉吉
编辑: 在遵循 Harkonian 指出的建议和问答讨论之后,正确的代码:
NSDate *date =nil;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateFormat:@"dd-MMM-yy"];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:enUSPOSIXLocale];
[enUSPOSIXLocale release];
date = [dateFormatter dateFromString:inString];
[dateFormatter release];
【问题讨论】:
-
有关使用日期格式化程序的更多信息:stepcase.com/blog/2008/12/02/…
标签: cocoa-touch iphone-sdk-3.0 ios4 nsdate nsdateformatter