今天我的问题是关于日期格式和字符串。
我的应用程序从互联网下载一些表示日期的字符串。日期格式始终是这样的:“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 https://developer.apple.com/library/content/qa/qa1480/_index.html解释了这个问题背后的原因以及如何解决它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)