Dav*_*eck 7 macos cocoa objective-c iso8601 ios
我想解析Cocoa中的ISO8601日期,适用于iOS 4+和OSX 10.6+
StackOverflow上已经有一些关于这方面的问题,但在我看来,它们中没有一个包含好的答案.以下是我认为构成一个好答案的内容:
答案应该指向支持ISO8601的代码.对于iOS 4+和OSX 10.6+,此代码应在XCode 4下干净地编译.
代码应支持所有可能的ISO8601日期格式.
请注意,这里有很多种可能性.简单地回答一个或两个格式字符串NSDateFormatter是不会削减它.
答案应该不会是这个库.那是因为它充满了危险的32位假设,它比必要的复杂得多,并且它不能用XCode4/Clang编译清理.一句话:我完全不相信它!
谢谢,同胞Cocoa-ites.我很高兴知道这里是否有真正的答案!
最好的方法是这个库.☺
我应该在该页面上添加一个链接到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];
Run Code Online (Sandbox Code Playgroud)
如果您需要更多信息(例如,保留时区),您可以切换dateFromString:或stringFromDate:使用其中一种较长的方法.
如果你的意思是别的,我想听听,所以我可以改进图书馆.