iphone - 使用 NSDateFormatter 从字符串中获取日期,无论 12 小时到 24 小时设置如何

标签 iphone time nsstring format nsdateformatter

今天我的问题是关于日期格式和字符串。 我的应用程序从互联网下载一些表示日期的字符串。日期格式始终是这样的:“2010-05-24 at 20:45” 我需要将此字符串转换为 NSDate 对象才能执行一些日期操作。 我尝试了这段代码:

NSString * dateString = @"2010-05-24 at 20:45" // actually downloaded from the internet
NSDateFormatter * myDateFormatter = [[NSDateFormatter alloc] init];
[myDateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];
NSDate * dateFromString = [myDateFormatter dateFromString:dateString];

只要 iPhone 设置为 24 小时时钟,这似乎就可以完美工作。只要我在常规设置中切换到 12 小时时钟,就不会创建 NSDate 对象(并且应用程序会愉快地崩溃) 我读过其他人有类似的问题,但我似乎没有找到解决方案。 现在的问题是: 只要我指定它应该使用哪种格式来解析字符串(它是不可修改的,因为它来自网络),NSDateFormatter 对用户设置是敏感的,这对我来说没有意义,有什么用检查用户设置? 更重要的是,如何执行我的任务(从字符串中获取 NSDate 对象,无论用户设置如何)?

最佳答案

This解释了这个问题背后的原因以及如何解决它。

关于iphone - 使用 NSDateFormatter 从字符串中获取日期,无论 12 小时到 24 小时设置如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764225/

相关文章:

ios - NSString 对象的 length 属性有一个不正确的值

objective-c - 使用 NFD unicode 的 NSString 规范化

java - 当我们的 jar 附带的类被添加到 Java 标准库时会发生什么?

mongodb - 结构/结果的倒序时间顺序

ios - 如何在iOS中创建ByteBuffer?

iphone - 从 default@2x.png 到 MainView 的过渡

java - 给定一个 Calendar 实例,确定它是否已经过一小时的最简单方法是什么?

iphone - 如果 NSString stringWithContentsOfFile 已被弃用,那么它的替代品是什么?

iphone - Facebook iOS 似乎在单击“确定”后返回应用程序时丢失了 session 您已经授权了应用程序

iphone - 是否可以通过编程方式更改 Default.png 启动图像?