我想解析Cocoa中的ISO8601日期,适用于iOS 4+和OSX 10.6+
在StackOverflow上已经有一些关于此的问题,但是我认为没有一个包含很好的答案。我认为这是一个很好的答案:
请注意,这里有很多可能性。只需用一两个格式字符串回答
NSDateFormatter
就不会削减它。谢谢, cocoa 同胞们。我很高兴发现这里是否有真正的答案!
最佳答案
最好的方法是this library。 ☺
我应该在该页面上添加一个指向the Bitbucket repo的链接,该链接包含较新的源代码(包括32位和Clang修复程序!),并且具有问题跟踪器。如果您发现其他任何错误,请归档。
我也想知道您的意思是“比必要的更为复杂”。正常用法很简单:
ISO8601DateFormatter *formatter = [[[ISO8601DateFormatter alloc] init] autorelease]; //Or, if you prefer, create it once in -init and own it until -dealloc
NSDate *parsedDate = [formatter dateFromString:inString];
NSString *unparsedString = [formatter stringFromDate:inDate];
如果您需要更多信息(例如,保留时区),则可以为较长的方法之一切换
dateFromString:
或stringFromDate:
。如果您还有其他意思,我想听听,以便改进图书馆。
关于objective-c - 在 cocoa 中解析ISO8601日期的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6194998/