gpt4 book ai didi

objective-c - 在 cocoa 中解析 ISO8601 日期的正确方法是什么?

转载 作者:可可西里 更新时间:2023-11-01 03:31:27 25 4
gpt4 key购买 nike

我想在 Cocoa 中为 iOS 4+ 和 OSX 10.6+ 解析 ISO8601 日期

StackOverflow 上已经有一些关于此的问题,但在我看来,没有 包含好的答案。以下是我认为构成一个好的答案的内容:

  1. 答案应该指向支持 ISO8601 的代码。对于 iOS 4+ 和 OSX 10.6+,这段代码应该可以在 XCode 4 下干净地编译。

  2. 代码应该支持所有可能的 ISO8601 日期格式。

    请注意这里有很多很多的可能性。简单地用 NSDateFormatter 的一两个格式字符串来回答是行不通的。

  3. 答案应该this library .那是因为它充满了危险的 32 位假设,它比必要的复杂得多,而且它不能用 XCode4/Clang 编译干净。底线:我根本不相信它!

谢谢 Cocoa 的 friend 们。我很高兴知道这里是否有真正的答案!

最佳答案

最好的方法是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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com