我正在将从服务器返回的字符串转换为 NSDate 对象以供进一步使用。
这是来自服务器的示例字符串:2011-01-14T16:05:48.555+05:00
而且,我用[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
我能够使用 iOS 3.2 上的 dataFromString 方法成功地将其转换为 NSDate 对象(设备和 sim 两者)。
但是,相同的代码在设备和 sim 上的 iOS 4.2 上都返回 nil。
我还尝试了许多日期格式模式的变体,例如:
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZZZZ"];
[dateFormatter setDateFormat:@"YYY-MM-DD'T'HH:mm:ss.fffK"];
但没有任何效果!
我在这里错过了什么吗?
编辑:我尝试对输入字符串进行硬编码,在尝试了许多变体之后,以下字符串2011-01-14T16:05:48.555+0500
可以使用"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
请注意,此字符串与来自服务器的字符串的唯一区别是;TimeZone 值中的冒号 (:)。我试图找到一个日期模式,我可以在其中提到时区中的冒号但没有成功。
有什么线索吗??