今天我的问题是关于日期格式和字符串。 我的应用程序从互联网下载一些表示日期的字符串。日期格式始终是这样的:“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/