iphone - 我的 NSDateFormatter 只能在 iPhone 模拟器中工作

标签 iphone objective-c cocoa date

我使用 NSDateFormatter,它在模拟器中运行良好,但当我在 iPhone 中运行它时,我得到一个 nil。我对日期进行了硬编码以确保格式,但无论如何它都失败了。

NSString *strPubDate = @"Fri, 8 May 2009 08:08:35 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss Z"];

NSDate *myDate = [dateFormatter dateFromString:strPubDate];

我在 iPhone 上尝试了不同的区域设置、语言等。知道出了什么问题吗?

最佳答案

此代码似乎可以针对“GMT”标签正常工作。

NSString *strPubDate = @"Fri, 8 May 2009 08:08:35 GMT";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, d MMM yyyy HH:mm:ss zzzz"];
NSDate *myDate = [dateFormatter dateFromString:strPubDate];

RFC822 Date and Time specs使用一些“zone”标签,我找到了正确的符号来解析“GMT”标签 Format String for the iPhone NSDateFormatter

  • z~zzz:(特定 GMT 时区缩写)
  • zzzz:(特定 GMT 时区名称)
  • Z:+0000(RFC 822 时区

感谢您的帮助!

关于iphone - 我的 NSDateFormatter 只能在 iPhone 模拟器中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/838893/

相关文章:

iphone - 从 key 链中的 key 对中提取公钥

Objective-C 无法识别的选择器 + 使用 MagicalRecord CocoaPod 初始化

objective-c - 受密码保护的 pdf 中密码字段不可见

ios - 针对 iPad 和 iPhone 进行测试时颜色不同

ios - 如何使用命令行从 iOS 的 React-Native 应用程序创建 .ipa 文件进行测试

objective-c - NSTimer 无效时不停止

c++ - 在 Objective C++ 中加载 Nib 和显示窗口

iPhone - 通过蓝牙发送图像和文本的错误

objective-c - AudioKit 滚动波形图未显示在物理设备上

objective-c - IOS Dev 错误处理最佳实践