ios - NSDateFormetter iOS 问题

标签 ios xcode nsdateformatter

刚刚发现 NSDateFormatter 停止识别 24 小时格式的 AM/PM。我的代码是

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy MM dd HH:mma";

NSDate *date1 = [dateFormatter dateFromString:@"2015 02 11 12:30PM"];
NSLog(@"%@", date1);
NSDate *date2 = [dateFormatter dateFromString:@"2015 02 11 13:30PM"];
NSLog(@"%@", date2);

我得到的输出显示相同的日期是:

2015-12-24 15:38:54.234 xyz[580:88238] 2015-02-11 07:00:00 +0000
2015-12-24 15:38:54.235 xyz[580:88238] 2015-02-11 07:00:00 +0000

但在我将 XCode 更新到 7.2 并将 iPod 更新到 9.2 之前,它可以正常工作。如果这是 iOS 9.2 错误,请告诉我。

最佳答案

13:30PM 没有意义。使用 24 小时制AM/PM

特别是 13:30 PM 在使用 24 小时制时不是有效时间。

解决方案:从日期格式化程序中删除 PM 并删除 a

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy MM dd HH:mm";

NSDate *date1 = [dateFormatter dateFromString:@"2015 02 11 12:30"];
NSLog(@"%@", date1);
NSDate *date2 = [dateFormatter dateFromString:@"2015 02 11 13:30"];
NSLog(@"%@", date2);

正确输出

2015-12-24 11:42:43.420 Flip[3080:312362] 2015-02-11 11:30:00 +0000
2015-12-24 11:42:43.422 Flip[3080:312362] 2015-02-11 12:30:00 +0000

(时差导致此处偏移一小时)

关于ios - NSDateFormetter iOS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34451150/

相关文章:

ios - XCode 4.3.1 iPad模拟器

ios - 使用 JSONDecoder 解码古怪的日期格式

xcode - (Swift) 使用 NSDataFormatter 和中等样式字符串来获取日期

ios - 更改 xcode 的默认 Apple ID

ios - 警报 View 按钮

ios - 空值上的 NSDateFormatter dateFromString

objective-c - 移除 UITableView 中的编辑按钮

ios - 具有多个路径的UIBezierPath不连接具有斜角类型的线

iphone -- 在游戏中心沙箱和生产环境之间切换

objective-c - 定义一个特定表格单元格的高度