我试图以某种格式打印日期:

NSDate *today = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSString *dateStr = [dateFormatter stringFromDate:today];

如果iPhone设置为24小时,这可以正常工作,如果另一方面用户设置为24小时,然后返回到AM/PM(在切换此设置之前,它可以正常工作),那么它会在末尾附加AM/PM,即使我没有要求:

20080927030337 PM

我是做错了什么,还是这是固件2.1的错误?

编辑1:使描述更清晰

编辑2解决方法:原来这是一个bug,为了修复它,我将AM和PM字符设置为"":

[dateFormatter setAMSymbol:@""];
[dateFormatter setPMSymbol:@""];

推荐答案

使用你在模拟器和手机上发布的代码,2.1固件和24小时时间设置为off,我从来没有在dateStr中附加AM/PM,当我这样做时:

NSLog(@"%@", dateStr);

你对dateStr还有什么没有发到这里的吗?你怎么判断这个值?

Follow up

try 打开am/pm设置,然后关闭.我也没有问题,直到我做到了.我和你一样把它打印出来.

好吧,我也看到了.一定是个虫子.我推荐你file a bug report个,同时判断并过滤掉不需要的字符.

Objective-c相关问答推荐

在 MacOS 上截屏

如何创建圆形按钮?

iOS 块和对自身的强/弱引用

使用 [NSBundle mainBundle] pathForResource: ofType:inDirectory: 访问文件

碰撞技术如何运作?

在 viewDidAppear 之前无法正确设置框架

以原子方式写入文件与不写入文件之间的区别

在 ARC 中清零弱引用

使用 Objective-C 查找 IMEI 号码

从 UIPageViewController 中移除视图控制器

使用 OpenCV 在 iOS 中进行透视变换 + 裁剪

获取字符串的最后 2 个字符?

如何对包含数字的 NSMutable 数组进行排序?

Objective-C 中的非正式协议?

为什么 LLDB 不能打印 view.bounds?

如何创建 .dSYM 文件?

如何阻止 NSNotification 中的观察者调用两次?

如何在 iPhone SDK 中包含和使用新字体?

找出用户是否按下了 uinavigationcontroller 中的后退按钮?

Facebook SDK 登录永远不会在 iOS 9 上回调我的应用程序